Bagaimana saya bisa mengaktifkan dan melakukan pelipatan kode di Vim?
Apakah saya harus mengubah sesuatu ~/.vimrc?
Saya mengetik z+ adan z+ cdan z+ odan tidak ada yang terjadi.
Berikut ini artikel tentang melipat: Melipat kode di Vim .
Bagaimana saya bisa mengaktifkan dan melakukan pelipatan kode di Vim?
Apakah saya harus mengubah sesuatu ~/.vimrc?
Saya mengetik z+ adan z+ cdan z+ odan tidak ada yang terjadi.
Berikut ini artikel tentang melipat: Melipat kode di Vim .
Jawaban:
Tidak Anda tidak harus meletakkan perintah dari halaman Anda terhubung ke dalam Anda ~/.vimrc, Anda hanya dapat mengetik mereka setelah mengeluarkan :di vimuntuk mendapatkan command prompt.
Namun jika Anda meletakkan garis:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
seperti yang ditunjukkan pada tautan yang Anda berikan, di ~/.vimrc, Anda tidak perlu mengetikkannya setiap kali Anda ingin menggunakan pelipatan dalam file. The set nofoldenablememastikan bahwa ketika membuka, file yang "normal", yaitu tidak dilipat.
:. Anda mengetik setperintah setelah prompt yang Anda dapatkan saat mengetik :. The zcAnda mengetik ketika Anda dapat dengan bebas memindahkan kursor, sama seperti Anda akan menggunakan ztuntuk mendapatkan teks kursor berada pada bagian atas layar saat ini.
Metode lipat default Vim adalah manualarti bahwa lipatan dibuat secara manual; jika tidak, tidak ada lipat akan ditutup atau dibuka menggunakan za, zoatau zcseperti yang Anda gambarkan. Tetapi, Anda dapat membuat lipatan dengan zf{motion}dalam mode Normal atau zfdalam mode Visual ; misalnya zfjmembuat lipatan untuk garis saat ini dan yang berikutnya berikut dalam mode Normal .
indentJawaban yang diterima, oleh @Anthon, menjelaskan cara mengatur metode pelipatan ke indent; yaitu lipat didefinisikan oleh tingkat lekukan.
syntaxDengan cara yang lebih mudah, lipatan dapat dibuat secara otomatis berdasarkan sintaks bahasa buffer saat ini. Jika Anda menggunakan bahasa pemrograman, sebut saja L , dan Anda memiliki definisi lipat L (misalnya Anda telah menginstal plugin Vim di mana informasi lipat L didefinisikan; seperti c.vim untuk C / C ++, atau python -mode untuk Python), Anda hanya perlu mengatur metode lipat ke syntax:
set foldmethod=syntax
Itu dia. Perintah yang paling berguna untuk bekerja dengan lipatan adalah:
foldlevelper satu.foldlevelper satu.foldlevelke nol - semua lipatan akan terbuka.Anda tidak harus menggunakannya secara sistematis: Saya biasanya memilih lipatan secara manual berdasarkan gerakan atau bagian. Misalnya, melipat paragraf zfipdan melipat 20 baris berikutnya zf20j. Gunakan zauntuk beralih dan zdmenghapus.
Ini membutuhkan sedikit lebih banyak pekerjaan tetapi memungkinkan lipat Anda untuk mencerminkan tugas yang ada.
Anda dapat mengaktifkan foldingdi sesi saat ini seperti jawaban @ Anthon. Tetapi jika Anda ingin membuatnya permanen, Anda harus mengatur setidaknya garis ini .vimrcuntuk pekerjaan lipat:
set foldmethod=indent
indent adalah jenis lipat, Anda dapat melihat lebih banyak dari :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Sekarang, setiap kali Anda membuka file vim, Anda dapat melihat kode dilipat dengan metode yang Anda atur. Maka Anda dapat menggunakan za, zc, zo.