Vim'de HTML etiketlerini katlamak için bazı eklenti var mı?
Veya html etiketlerini katlamak veya açmak için bir kısayol oluşturmanın başka bir yolu var mı?
Aynen katlamada olduğu gibi html etiketlerini katlamak/açmak istiyorum.Vim ile HTML etiketlerini katlama/açma
cevap
Ben HTML belgeleri ile katlama için iyi çalışır (eşit, zfit
veya) zfat
bulduk. za
mevcut bir katlamayı açar (açar veya kapatır). zR
, geçerli belgedeki tüm katlamaları açar, zM
belgedeki tüm mevcut katlamaları etkin bir şekilde yeniden etkinleştirir. Eğer yoğun kıvrımlar kullanarak kendiniz bulursanız
, içeri kendiniz için bazı kullanışlı tuş atamaları Yapabilir .vimrc.
Yanıtınız yalnızca kılavuzun katlama yönteminde çalışır ve diğer katlama yöntemlerinde çalışmaz. – soarinblue
HTML'nizi girinti, aşağıdaki çalışması gerekir: bununla
set foldmethod=indent
sorunu, ben bulmak, çok fazla kat var. Bunu aşmak için sırasıyla iç içe kıvrımları açmak ve kapatmak için zO
ve zc
kullanın.
fazla bilgi için help fold-indent
bakınız:
The folds are automatically defined by the indent of the lines.
The foldlevel is computed from the indent of the line, divided by the
'shiftwidth' (rounded down). A sequence of lines with the same or higher fold
level form a fold, with the lines with a higher level forming a nested fold.
The nesting of folds is limited with 'foldnestmax'.
Some lines are ignored and get the fold level of the line above or below it,
whichever is lower. These are empty or white lines and lines starting
with a character in 'foldignore'. White space is skipped before checking for
characters in 'foldignore'. For C use "#" to ignore preprocessor lines.
When you want to ignore lines in another way, use the 'expr' method. The
indent() function can be used in 'foldexpr' to get the indent of a line.
Üçüncü düzey katlamaları kapatmak için varsayılan olarak fdl = 3 ayarını deneyin; zc hala açılmış katları kapatır. – JRG
js-beautify komutu takın (JavaScript sürümü)
npm -g install js-beautify
wget --no-check-certificate https://www.google.com.hk/ -O google.index.html
js-beautify -f google.index.html -o google.index.bt.html
http://www.google.com.hk orignal html:
js-beautif y ve vim kat:
James Lai tarafından cevap üzerine ekleyin. Başlangıçta benim foldmethod = sözdizimi, zfat çalışmayacak. Çözüm
:setlocal foldmethod?
, kullanımda foldmethod hangi kontrol etmek manuel
:setlocal foldmethod=manual
için foldemethod ayarlamak basittir foldmethod sözdizimi, katlanır html 'dir.
Bu yanıt HTML syntax folding in vim dayanmaktadır. yazarı @Ingo Karcat.
- senin kat yöntemi ile söz diziminde şekilde ayarlanacak aşağıdadır:
vim komut satırı
:set foldmethod=syntax
veya ayarı koymak
setlocal foldmethod=syntax
~/.vim/after/ftplugin/html.vim
da şimdiye kadar, dikkat varsayılan sözdizimi betiği sadece açılış ve kapanış etiketi arasındaki metni değil, çok satırlı bir etiketini katlar.So, this gets folded: <div class="foo" id="bar" > And this doesn't <div> <b>text between here</b> </div>
etiketleri arasına katlanmış olacağı için,
~/.vim/after/syntax/html.vim
sözdizimi katlama tüm ama geçersiz html elemanları arasında gerçekleştirilir (o don içine, aracılığıyla, en iyi yer aşağıdakileri sözdizimi komut uzatmak gerek 't)
<br>
gibi, ilk olaraksyntax region htmlFold start="<\z(\<\(area\|base\|br\|col\|command\|embed\|hr\|img\|input\|keygen\|link\|meta\|para\|source\|track\|wbr\>\)\@![a-z-]\+\>\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d
bir kapatma kardeşi vardırve başlangıç etiketi ve zo
etiketlerini katlamak için zfit
'u deneyin, Vim'de iyi çalışır.
'set foldmethod = sözdizimi HTML için çalışıyor –