Có một số plugin để gấp thẻ HTML trong Vim không?
Hoặc có một cách khác để thiết lập lối tắt để gấp hoặc mở thẻ html?
Tôi muốn gấp/mở thẻ html giống như tôi làm với gấp thụt đầu dòng.Làm cách nào để gấp/mở thẻ HTML bằng Vim
Trả lời
Tôi đã tìm thấy zfat
(hoặc, bằng nhau, zfit
) hoạt động tốt để gấp với tài liệu HTML. za
sẽ chuyển đổi (mở hoặc đóng) một nếp gấp hiện có. zR
mở tất cả các nếp gấp trong tài liệu hiện tại, zM
kích hoạt lại hiệu quả tất cả các nếp gấp hiện có được đánh dấu trong tài liệu.
Nếu bạn thấy mình sử dụng nếp gấp rộng rãi, bạn có thể làm cho một số keybindings ích cho chính mình trong bạn .vimrc.
Câu trả lời của bạn chỉ hoạt động trên phương pháp đo góc của hướng dẫn sử dụng và không thể hoạt động trên các phương pháp gấp nếp khác. – soarinblue
Nếu bạn thụt HTML của bạn sau nên làm việc:
set foldmethod=indent
Vấn đề với điều này, tôi tìm thấy, có quá nhiều nếp gấp. Để giải quyết vấn đề này, tôi sử dụng zO
và zc
để mở và đóng các nếp gấp lồng nhau tương ứng.
Xem help fold-indent
để biết thêm thông tin:
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.
Thử đặt fdl = 3 để đóng các nếp gấp cấp ba và cao hơn theo mặc định; zc vẫn đóng các nếp gấp đã mở. – JRG
Install js-beautify lệnh (JavaScript phiên bản)
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 và vim gấp:
Thêm vào để trả lời bởi James Lai. Ban đầu cú pháp foldmethod = zfat của tôi sẽ không hoạt động. Giải pháp là để thiết lập foldemethod để thủ
:setlocal foldmethod=manual
để kiểm tra foldmethod sử dụng,
:setlocal foldmethod?
Folding html với cú pháp foldmethod, đó là đơn giản hơn.
Câu trả lời này được dựa trên HTML syntax folding in vim. tác giả là @Ingo Karcat.
thiết lập phương pháp lần bạn được cú pháp như sau:
dòng lệnh vim
:set foldmethod=syntax
hoặc đặt các thiết lập trong
~/.vim/after/ftplugin/html.vim
setlocal foldmethod=syntax
Cũng lưu ý cho đến nay, tập lệnh cú pháp mặc định chỉ gấp một thẻ nhiều dòng, chứ không phải văn bản giữa thẻ mở và đóng.
So, this gets folded: <div class="foo" id="bar" > And this doesn't <div> <b>text between here</b> </div>
Để gấp giữa các thẻ, bạn cần mở rộng kịch bản cú pháp, qua sau, nơi tốt nhất vào
~/.vim/after/syntax/html.vim
Các gấp cú pháp được thực hiện giữa tất cả ngoại trừ yếu tố html trống (những người mà don 't có một anh chị em đóng cửa, như
<br>
)syntax 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
Thứ nhất set foldmethod=syntax
và thử zfit
để mở thẻ bắt đầu và zo
để mở thẻ, Nó hoạt động tốt trên vim của tôi.
'đặt foldmethod = syntax' hoạt động đối với HTML –