Eu ssh regularmente em um cluster Linux a partir de um terminal OS X (El Capitan), às vezes com várias guias Terminal. Eu uso o bash e o vim.
Eu gostaria de fazer o seguinte:
- enquanto estiver ssh'd, defina o título da guia Terminal no diretório de trabalho atual usando
PROMPT_COMMAND='printf "\e]1;"`basename $PWD`"\a"' - enquanto estiver usando o vim, defina o título da guia Terminal como "vim - FILENAME"
Aqui estão os meus problemas:
- Se eu fizer isso
let &titlestring = "vim — " . expand("%:t")eset titleem .vimrc, ele altera o título da janela do Terminal , não o título da guia. Se eu não definir separadamente o título da guia (parâmetro 1), o título da guia será semelhante ao título da janela (parâmetro 2), mas assim que eu definir o título da guia, ele "se desacoplará" do título da janela. - Se eu executar um comando externo em .vimrc com
:!, recebo uma caixa de diálogo "Press ENTER" que é irritante. - Se eu usar
:silent !em .vimrc , meu prompt de terminal termina na parte inferior da tela depois de sair do vim. Eu realmente não quero mexer em salvar a posição do prompt e redefini-la toda vez que quiser usar o vim. Se eu definir no meu .bashrc a seguinte função:
function vim { printf "\e]1;"`basename "$1"`"\a" vim "$1" }então meu terminal trava ao chamar
vimda linha de comando. Chamar a funçãovvimfunciona, mas não quero digitarvvimpara sempre. Eu quero o pseudônimovim.
Então eu pareço preso. Qualquer conselho seria muito apreciado. Agradeço antecipadamente!
vimexecutar o comando printf. Na sua versão, se alterarmos o arquivo, como no plug-in Ctrl + P, o nome da guia não será atualizado.