Configurando os nomes das guias Terminal no OS X e usando o vim

2

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")e set 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ção vvimfunciona, mas não quero digitar vvimpara sempre. Eu quero o pseudônimo vim.

Então eu pareço preso. Qualquer conselho seria muito apreciado. Agradeço antecipadamente!

Riju Dasgupta
fonte

Respostas:

2

Bem, eu resolvi meu próprio problema. Falha na programação 101.

Definindo o vim como uma função e depois chamando o vim, configurei um loop recursivo infinito. Não é à toa que meu terminal caiu. Eu preciso chamar o vim "real", o executável real. Isso fez o truque:

function vim
{
    printf "\e]1;"`basename "$1"`"\a"
    /usr/bin/vim "$1"
}
Riju Dasgupta
fonte
Este é um bom truque, mas seria muito bom 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.
Thomas Ahle