screen + vim - Qualquer maneira de definir automaticamente o nome da janela de tela para abrir o nome do arquivo vim?

10

Eu tenho um arquivo rc de tela muito legal que me mostra as janelas de tela aberta quase como guias na parte inferior do terminal. Atualmente, as janelas são nomeadas de acordo com o meu prompt, o que não é tão útil. Existe uma maneira de nomear automaticamente as janelas com base no nome do arquivo de uma sessão vim aberta atualmente na janela? Acho que isso seria um editor supremo de múltiplas janelas, se fosse possível.

    
por user4785 15.02.2011 / 17:20

2 respostas

5

Defina a title opção . Isso funciona fora da caixa para mim no xterm e afins, mas não na tela. Esta dica funciona :

if &term == "screen"
  set t_ts="\ek"
  set t_fs="\e\"
  set title
endif

Uma abordagem diferente é escrever uma função preexec em seu shell que define o título da janela para o comando que está sendo executado. Zsh suporta preexec nativamente e o bash também pode fazer isso . Aqui está um exemplo do zsh .

    
por 16.02.2011 / 00:46
1

Eu fiz isso de uma maneira um pouco mais difícil: Usando o tcsh eu coloquei o seguinte no meu .cshrc

# escape sequence to set the screen title
alias stitle 'echo -n "^[k\!*^[\"'
# shorthand to set the screen title to the hostname
alias H stitle 'hostname -s'
# shorthand to set the screen title to the filename, launch vim, and then set it back
alias vis 'stitle \!* ; vim \!* ; H'

Desde que você se lembre de usar vis em vez de vim quando quiser o título, ele funciona.

também adicionei

set notitle

ao meu .vimrc para evitar que o vim ajuste o título da tela da janela.

    
por 18.08.2015 / 18:16