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 title
em .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
vim
da linha de comando. Chamar a funçãovvim
funciona, mas não quero digitarvvim
para sempre. Eu quero o pseudônimovim
.
Então eu pareço preso. Qualquer conselho seria muito apreciado. Agradeço antecipadamente!
vim
executar 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.