Setiap kali saya membuka sesi tmux di terminal, semua tab yang berisi sesi vim diberi label vim
.
Pertanyaan saya adalah: Bagaimana mengkonfigurasinya untuk memberi label tab tmux dengan nama file yang diedit atau sesuatu seperti yang vim | test.cpp
digunakan sebagai judul tab yang dimaksud.
Jawaban:
Ini dia :
Membusuk:
Pada buffer read, file read atau buffer event file baru (lihat
:help autocmd-events
) jalankan perintah berikut:Panggil fungsi sistem dan berikan teks:
Ganti nama jendela saat ini dengan string yang dimulai dengan
vim |
Tambahkan ke string nama file (lihat artikel ini untuk memformat dan posting ini untuk memasukkan memperluas)
Tambahkan final
'
untuk menutup perintah.Setelah diperluas akan terlihat seperti (saat mengedit file .vimrc):
Seperti @erthalion katakan dalam komentar, Anda dapat membersihkan saat meninggalkan vim dengan:
sumber
BufEnter
event ke dalam daftar ini (untuk mengubah label bahkan ketika kita beralih di antara buffer yang ada), dan sesuatu seperti iniautocmd VimLeave * call system("tmux rename-window 'tmux'")
untuk pembersihan.Untuk mengembalikan skema penamaan tmux default saat berhenti vim, Anda juga dapat melakukan:
sumber
Inilah yang saya masukkan ke vimrc saya berkat jawaban oleh @raphael
Saya juga menginstal plugin tmux-plugins / vim-tmux-focus-events untuk acara FocusGained dan FocusLost.
sumber