screen + vim - Jakikolwiek sposób na automatyczne ustawienie nazwy okna ekranowego w celu otwarcia nazwy pliku vim?

10

Mam całkiem niezły plik rc ekranu, który pokazuje mi otwarte okna ekranu prawie jak karty na dole terminalu. Obecnie okna są nazywane zgodnie z moim monitem, co nie jest tak przydatne. Czy istnieje sposób automatycznego nazywania okien w oparciu o nazwę pliku otwartej sesji vim aktualnie w oknie? Myślę, że byłby to świetny edytor wielu okien, gdyby to było możliwe.

użytkownik4785
źródło

Odpowiedzi:

5

Ustaw titleopcję . Działa to od razu dla mnie w Xterm i podobnych, ale nie na ekranie. Ta wskazówka działa :

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

Innym podejściem jest napisanie preexecw powłoce funkcji, która ustawia tytuł okna dla uruchamianego polecenia. Zsh obsługuje preexecnatywnie, a bash też może to zrobić . Oto przykład zsh .

Gilles „SO- przestań być zły”
źródło
Cześć. Nie działało to dla mnie, ale myślę, że dzieje się tak z powodu konfiguracji mojego pliku .screenrc. 1 termcapinfo xterm * ti @: te @ 2 hardstatus alwayslastline 3 hardstatus string '% {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} '
użytkownik4785
@ user4785: Jeśli twój monit może ustawić tytuł okna ekranowego, Vim również powinien to zrobić. Jaki jest twój monit? Czy mój .vimrcfragment działa bez Twojego .screenrc?
Gilles 'SO - przestań być zły'
1

Zrobiłem to w nieco trudniejszy sposób: Używając tcsh, umieściłem w moim .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'

Tak długo, jak pamiętasz używać vis zamiast vim, kiedy chcesz, żeby tytuł tam działał.

Dodałem również

set notitle

do mojego .vimrc, aby powstrzymać vima od ustawiania tytułu ekranu okna.

22 stopnie
źródło