Ketika saya bekerja di vim, saya sering memiliki split, atau splits, terbuka yang berisi file bantuan.
Jika saya menutup jendela lain menggunakan :q
vim sehingga akan dibiarkan dalam keadaan dengan hanya bantuan windows terbuka, vim menutup seluruh editor, yang menyebabkan saya kehilangan posisi saya di halaman bantuan. mis. Katakanlah saya memiliki tata letak ini
tab1 (this is the only tab open)
+------------------+-------------+-----------------+
| | | |
| |:h usr_26.txt| |
| A normal file, | | :h change.txt|
| containing code |section 26.2 | |
| e.g. |line 47 | line 272 |
| | | |
| app_db.sql | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
+------------------+-------------+-----------------+
Jika saya memasuki jendela yang berisi app_db.sql
masalah :q
perintah, mengejutkan seluruh editor akan hilang.
Saya sering membutuhkan waktu yang lama - hingga 15-20 menit - untuk mencari bantuan untuk akhirnya menemukan konten bantuan, jadi meskipun itu bukan pekerjaan yang hilang, itu pasti banyak waktu yang hilang ketika ini terjadi.
Bagaimana saya bisa mencegah vim menutup editor itu sendiri ketika saya menutup jendela dengan hanya membantu membuka jendela?
Kemungkinan solusi yang saya pertimbangkan
- Cukup jangan tutup jendela terakhir saat ada jendela bantuan yang terbuka.
- masalah dengan ini adalah saya tidak memperhatikan apa yang ada di windows lain ketika saya menutup jendela saat ini.
- Menggunakan
mksession
- ini mengharuskan Anda tahu sebelumnya bahwa Anda perlu
:mksession
dan penutupan editor selalu terjadi secara tak terduga.
- ini mengharuskan Anda tahu sebelumnya bahwa Anda perlu
- Gunakan plugin seperti obsesi vim yang terus-menerus memperbarui
Session.vim
file.- Saat ini saya telah berhenti menggunakan obsesi vim karena (ironisnya),
Session.vim
obsesi vim membuat file sering tidak mengembalikan tab yang berisi halaman bantuan, tetapiSession.vim
file yang dihasilkan oleh:mksession
mengembalikan tab dengan membantu windows. (Juga masalah lain dengan label tab yang tidak cocok dengan tab itu sendiri)
- Saat ini saya telah berhenti menggunakan obsesi vim karena (ironisnya),
sumber
QuitPre
acara yang akan memberikan fokus kembali ke jendela sebelumnya sebelum menutup yang sekarang:autocmd QuitPre * wincmd p
~/.vimrc
dan mengawasi efek samping anehwincmd p
tidak berfungsi karena p nol mungkin. Saya harus menguji sedikit kemudian ketika saya mendapatkan waktuobsession
akan menghemat jendela bantuan jika Anda menambahkanhelp
untuksessionoptions
beberapa waktu sebelum menyimpan sesi:set sessionoptions+=help
.Jawaban:
menggunakan perintah
:clo[se]
bukannya:q
tampaknya telah memecahkan masalah bagi saya.Yaitu jika saya masalah
:clo
dengan tata letak jendela di atas, itu menyebabkan vim untuk melemparBahkan tampaknya
:close
itu dimaksudkan untuk situasi ini, yaitu untuk mencegah penutupan tanpa disengaja editor ketika semua yang Anda ingin lakukan adalah menutup jendela (atau tab)dari
:h windows.txt
sumber