Vim'de kod katlamayı nasıl etkinleştirebilir ve yapabilirim ?
Herhangi bir şeyi değiştirmek zorunda ~/.vimrcmıyım?
Ben yazarken z+ ave z+ cve z+ ove hiçbir şey olmaz.
Katlama hakkında bir makale: Vim'de kod katlama .
Vim'de kod katlamayı nasıl etkinleştirebilir ve yapabilirim ?
Herhangi bir şeyi değiştirmek zorunda ~/.vimrcmıyım?
Ben yazarken z+ ave z+ cve z+ ove hiçbir şey olmaz.
Katlama hakkında bir makale: Vim'de kod katlama .
Yanıtlar:
Hayır sen Gözlerinde farklı bağlantılı sayfadan komutu koymak gerekmez ~/.vimrc, sadece vermeden sonra bunları yazabilirsiniz :içinde vimkomut istemi alır.
Ancak satırları koyarsanız:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
Verdiğiniz bağlantıda belirtildiği gibi, içinde, ~/.vimrcdosyada her zaman katlama kullanmak istediğinizde bunları yazmak zorunda değilsiniz. set nofoldenableAçılış, dosyaları "normal" olduğunda, yani katlanmış değil emin kılar.
:. Yazdığınız setkomutlar istemi sonra zaman yazmaya olsun :. zcÖzgürce imleci hareket ettirebilirsiniz zaman kullanabileceğiniz gibi sen, yazın ztimleç mevcut ekranın üstüne üzerindedir metni alır.
Vim'in varsayılan katlama yöntemi, manualkatlamaların elle oluşturulduğu anlamına gelir; aksi takdirde, orada kapalı veya kullanılarak açılacak kat olduğu za, zoya da zcsen tarif edildiği gibi. Ama, bir kat oluşturabilir zf{motion}içinde normal modda veya zfiçinde Görsel modu; örn. zfj, geçerli hat için bir sonraki ve bir sonraki modu Normal modda oluşturur.
indent@Anthon tarafından kabul edilen cevap, katlama yönteminin nasıl ayarlanacağını açıklar indent; yani katlama, girintilerin seviyesi ile tanımlanır.
syntaxDaha uygun bir şekilde, geçerli tamponun dil sözdizimini temel alarak kıvrımlar otomatik olarak oluşturulabilir. Eğer bir programlama dili kullanıyorsanız, diyelim L ve tanımını katlama gelmiş L (örneğin bir Vim eklentisi içinde katlama bilgi hangi yüklemiş L tanımlanır; örneğin c.vim C / C ++ veya piton -mode için Python), sadece katlama yöntemi ayarlamanız gerekir syntax:
set foldmethod=syntax
Bu kadar. Kıvrımlarla çalışmak için en yararlı komutlar:
foldlevel.foldlevel.foldlevelsıfıra - Bütün katların açık olacaktır.Sistematik olarak kullanmak zorunda değilsiniz: Genellikle kıvrımları hareket veya bölümlere göre manuel olarak seçerim. Örneğin, bir paragrafın zfipkatlanması ve sonraki 20 satırın katlanması zf20j. zaGeçiş yapmak ve zdkaldırmak için kullanın .
Bu biraz daha fazla çalışma gerektirir ancak katlanmanızın eldeki görevi yansıtmasını sağlar.
foldingGeçerli oturumda @ Anthon'ın cevabı gibi etkinleştirebilirsiniz . Ancak bunu kalıcı hale getirmek istiyorsanız, en azından bu çizgiyi .vimrckatlama çalışmasına ayarlamalısınız:
set foldmethod=indent
indent katlama tür, daha fazla görebilirsiniz :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.
Şimdi, bir dosyayı her açtığınızda vim, kodun ayarladığınız yöntemle katlandığını görebilirsiniz. Sonra kullanabilirsiniz za, zc, zo.