Tutup semua file yang dipisah, kecuali yang sedang difokuskan?

34

Kadang-kadang ketika saya sedang mengerjakan suatu file, saya akan membuka banyak file hanya untuk mendapatkan gambaran tentang aliran kode saat ini hingga titik tertentu. Namun hal ini kadang-kadang menyebabkan banyak file dibuka pada suatu waktu secara terpisah. Apakah ada perintah untuk keluar semua kecuali jendela yang dipilih?

Dom
sumber

Jawaban:

41

Jika Anda ingin menutup semua jendela (splits) kecuali yang sekarang:

:only

Jika Anda ingin menutup semua tab kecuali yang sekarang:

:tabonly

Jika Anda ingin menghapus semua buffer tersembunyi (file terbuka tetapi tidak terlihat di jendela mana pun pada tab apa pun), Anda harus menambahkan fungsi ke vimrc Anda. Beberapa orang telah memposting fungsi yang mungkin ke sini dan di sini

Saya tidak yakin persis mana dari yang Anda coba capai, tetapi mudah-mudahan beberapa kombinasi dari perintah ini yang berhasil.

Matt Boehm
sumber
27

Tekan Ctrl+w, ountuk dengan cepat menutup semua jendela yang terbagi, tetapi yang sekarang.

Atau gunakan perintah: :on( :only).

: on [ly] [!] Jadikan jendela saat ini satu-satunya di layar. Semua jendela lain ditutup.

Lihat juga:

kenorb
sumber
2
Ctrl + W, o <<< jawaban ini harus diterima
Leo
Ini akan keren jika Anda bisa beralih split, seperti memperbesar Tmux. Adakah yang tahu kalau itu mungkin?
domi91c
1
@portOdin Anda perlu mengajukan pertanyaan lain.
kenorb
Apakah "menutup" di sini berarti menutup buffer (setara dengan :q) atau hanya menyembunyikannya?
stillanoob
@ stillanoob Saya pikir mereka sudah tutup, karena :tabstidak menunjukkannya.
kenorb