screen + vim - Un modo per impostare automaticamente il nome della finestra dello schermo per aprire il nome file vim?


10

Ho un bel file rc dello schermo che mi mostra le finestre dello schermo aperto quasi come le schede nella parte inferiore del terminale. Attualmente le finestre sono nominate secondo il mio prompt che non è così utile. C'è un modo per nominare automaticamente le finestre in base al nome file di una sessione vim aperta attualmente nella finestra? Penso che questo renderebbe un editor multi finestra supremo se fosse possibile.

Risposte:


5

Imposta l' titleopzione . Questo funziona per me in xterm e simili, ma non sullo schermo. Questo suggerimento funziona :

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

Un approccio diverso consiste nello scrivere una preexecfunzione nella shell che imposta il titolo della finestra sul comando in esecuzione. Zsh supporta preexecnativamente e anche bash può farlo . Ecco un esempio di zsh .


Ciao. Non ha funzionato per me, ma penso che sia a causa della configurazione del mio file .screenrc. 1 termcapinfo xterm * ti @: te @ 2 hardstatus alwayslastline 3 stringa hardstatus '% {gk} [% {G}% H% {g}] [% =% {wk}%?% - Lw%?% {= B kR} (% {W}% n *% f% t%? (% u)%?% {= b kR})% {= kw}%?% + Lw%?%?% =% {g}] [% {Y}% l% {g}]% {= b C} [% m /% d% c]% {W} '
user4785

@ user4785: se il tuo prompt può impostare il titolo della finestra dello schermo, Vim dovrebbe essere in grado di farlo. Qual è il tuo prompt? Il mio .vimrcframmento funziona senza il tuo .screenrc?
Gilles 'SO- smetti di essere malvagio' il

1

L'ho fatto in modo un po 'più hacker: usando tcsh ho inserito quanto segue nel mio .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'

Finché ti ricordi di usare vis invece di vim quando vuoi che il titolo funzioni lì.

Ho anche aggiunto

set notitle

al mio .vimrc per impedire a vim di impostare il titolo della schermata della finestra in esecuzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.