vim: aktifkan lipatan tetapi tidak secara otomatis menutupnya

16

Saya sangat suka lipat di Vim, tetapi ada beberapa buffer non-file (command-t plugin window untuk satu) yang saya benar - benar tidak ingin lipat, karena perintah lipat normal tidak berfungsi di sana.

Jika saya bisa mengatakan vim untuk tidak secara otomatis menutup flip (hanya menutupnya ketika saya memberitahukannya) yang seharusnya memperbaiki masalah, tetapi saya tidak melihat opsi apa pun dalam vim yang membantu mengubah perilaku itu. Apakah ada cara untuk mengaktifkan lipatan tetapi tidak secara otomatis menutup semua lipatan saat buffer dibuat / file dibuka?

Herms
sumber

Jawaban:

21

Perintah untuk tidak menutup lipatan saat buffer dibuka adalah

:set foldlevelstart=99

Lihat

:help foldlevelstart

untuk lebih.

garyjohn
sumber
13

Anda dapat melakukan:

set nofoldenable

misalnya di .vimrc saya, saya punya:

set foldmethod=indent       " automatically fold by indent level
set nofoldenable            " ... but have folds open by default
sml
sumber
2
Dari tech.groups.yahoo.com/group/vim/message/119298 : "Dengan nofoldenable, semua lipatan terbuka, seolah-olah tidak ada sama sekali. Anda tidak dapat berinteraksi dengan mereka. Tetapi, segera setelah Anda mencoba berinteraksi dengan mereka (dengan menekan zc misalnya) Anda secara otomatis mengatur foldenable, yang akan menerapkan semua lipatan yang ada di jendela. "
Mansoor Siddiqui
0

zR adalah perintah untuk membuka semua lipatan. Saya berasumsi Anda dapat menggunakan perintah autocommand (au) untuk hanya meletakkan opsi di .vimrc Anda untuk mengeluarkan perintah zR ketika membuka buffer dengan ekstensi file yang tidak ingin Anda mulai dengan penutupan otomatis lipatan. Sesuatu seperti ini:

au BufRead *.myext zR

belum diuji, sebenarnya sintaks yang benar mungkin menggunakan perintah exe untuk zR:

au BufRead *.myext exe "zR"

Saya berasumsi Anda sedang berbicara tentang autofolding lipatan yang ditentukan secara manual atau secara otomatis ketika buffer dibuka. Jika buffer dalam pertanyaan tidak seharusnya memiliki lipatan sama sekali, maka itu mungkin masalah yang berbeda, sesuatu di mana Anda ingin lipatan dinonaktifkan untuk tipe buffer tersebut.

Herbert Sitz
sumber
ya, tetapi zR tidak berfungsi ketika saya di buffer, jadi saya tidak yakin apakah perintah otomatis akan berfungsi.
Herms