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 vim
untuk 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 nofoldenable
memastikan bahwa ketika membuka, file yang "normal", yaitu tidak dilipat.
:
. Anda mengetik set
perintah setelah prompt yang Anda dapatkan saat mengetik :
. The zc
Anda mengetik ketika Anda dapat dengan bebas memindahkan kursor, sama seperti Anda akan menggunakan zt
untuk mendapatkan teks kursor berada pada bagian atas layar saat ini.
Metode lipat default Vim adalah manual
arti 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 .
indent
Jawaban yang diterima, oleh @Anthon, menjelaskan cara mengatur metode pelipatan ke indent
; yaitu lipat didefinisikan oleh tingkat lekukan.
syntax
Dengan 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:
foldlevel
per satu.foldlevel
per satu.foldlevel
ke nol - semua lipatan akan terbuka.Anda tidak harus menggunakannya secara sistematis: Saya biasanya memilih lipatan secara manual berdasarkan gerakan atau bagian. Misalnya, melipat paragraf zfip
dan melipat 20 baris berikutnya zf20j
. Gunakan za
untuk beralih dan zd
menghapus.
Ini membutuhkan sedikit lebih banyak pekerjaan tetapi memungkinkan lipat Anda untuk mencerminkan tugas yang ada.
Anda dapat mengaktifkan folding
di sesi saat ini seperti jawaban @ Anthon. Tetapi jika Anda ingin membuatnya permanen, Anda harus mengatur setidaknya garis ini .vimrc
untuk 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
.