screen + vim - Adakah cara untuk secara otomatis mengatur nama jendela layar untuk membuka nama file vim?

10

Saya memiliki file layar rc yang cukup bagus yang menunjukkan jendela layar terbuka hampir seperti tab di bagian bawah terminal. Saat ini windows diberi nama sesuai dengan prompt saya yang tidak begitu berguna. Apakah ada cara untuk secara otomatis memberi nama jendela berdasarkan nama file sesi open vim yang saat ini ada di jendela? Saya pikir ini akan membuat editor multi-jendela tertinggi jika memungkinkan.

pengguna4785
sumber

Jawaban:

5

Setel titleopsi . Ini bekerja di luar kotak bagi saya di xterm dan sejenisnya tetapi tidak di layar. Tip ini berfungsi :

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

Pendekatan yang berbeda adalah menulis preexecfungsi di shell Anda yang mengatur judul jendela ke perintah yang sedang dijalankan. Zsh mendukung preexecsecara asli, dan bash dapat melakukannya juga . Berikut ini adalah contoh zsh .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Hai. Itu tidak berhasil untuk saya, tetapi saya pikir itu karena bagaimana file .screenrc saya diatur. 1 termcapinfo xterm * ti @: te @ 2 hardstatus selalulastline 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} '
user4785
@ user4785: Jika prompt Anda dapat mengatur judul jendela Layar, Vim juga bisa melakukannya. Apa prompt Anda Apakah .vimrccuplikan saya berfungsi tanpa Anda .screenrc?
Gilles 'SO- stop being evil'
1

Saya melakukannya menggunakan sedikit cara peretas: Menggunakan tcsh, saya memasukkan yang berikut ini di .cshrc saya

# 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'

Selama Anda ingat untuk menggunakan vis bukannya vim ketika Anda ingin judul itu berfungsi.

Saya juga menambahkan

set notitle

ke .vimrc saya agar vim dari pengaturan judul layar windows sedang berjalan.

22 derajat
sumber