Làm cách nào để bật tính năng xếp tự động trong Vim? set foldmethod=syntax
dường như không làm được gì nhiều.Làm cách nào để bật các nếp gấp tự động trong Vim?
Trả lời
Để cho phép nếp gấp dựa trên cú pháp thêm một cái gì đó như sau để .vimrc
của bạn:
set foldmethod=syntax
set foldlevelstart=1
let javaScript_fold=1 " JavaScript
let perl_fold=1 " Perl
let php_folding=1 " PHP
let r_syntax_folding=1 " R
let ruby_fold=1 " Ruby
let sh_fold_enabled=1 " sh
let vimsyn_folding='af' " Vim script
let xml_syntax_folding=1 " XML
Cú pháp dựa gấp được định nghĩa trong các tập tin cú pháp của ngôn ngữ đó được đặt tại $ VIM/cú pháp. Nhưng một số ngôn ngữ không có quy tắc gấp được xây dựng trong các tệp cú pháp của chúng. Ví dụ Python. Đối với những ngôn ngữ đó, bạn cần phải tải xuống nội dung nào đó từ http://vim.sf.net có các nếp gấp. Nếu không, bạn sẽ cần phải sử dụng nếp gấp dựa trên indents. Để làm điều này một cách hiệu quả, bạn sẽ có thể muốn thêm dòng sau vào tập tin vimrc của bạn:
set foldmethod=indent
set foldnestmax=2
Các loại gấp
Có 6 loại nếp gấp:
manual manually define folds
indent more indent means a higher fold level
expr specify an expression to define folds
syntax folds defined by syntax highlighting
diff folds for unchanged text
marker folds defined by markers in the text
Cá nhân tôi chỉ sử dụng các cú pháp cú pháp. Thông thường tôi chỉ muốn gấp phương pháp và không gấp từng mức thụt lề. Không phù hợp thụt lề và định dạng kỳ lạ mã di sản tại nơi làm việc thường làm cho thụt lề gấp khó khăn hoặc không thể. Thêm dấu vào tài liệu là tẻ nhạt và những người không sử dụng Vim sẽ không duy trì chúng khi họ chỉnh sửa tài liệu. Các nếp gấp thủ công hoạt động tốt cho đến khi ai đó chỉnh sửa mã của bạn trong kiểm soát nguồn và tất cả các nếp gấp của bạn hiện không đúng.
More đọc
- Xem
:help fold-methods
để tìm hiểu chi tiết các phương pháp lần khác nhau. - Xem
:help folding
để tìm hiểu các lệnh bàn phím để thao tác nếp gấp. - Xem
:help folds
để được trợ giúp về toàn bộ chủ đề gấp.
Gấp JavaScript cũng không có tác dụng đối với tôi. Tôi phát hiện ra khi tôi đã làm đặt cú pháp = javaScript (với chữ viết hoa S), nó đột nhiên hoạt động.
hehe tôi đã làm điều đó và trên tất cả các màu đột ngột chỉ biến mất, đoán nó không phải dành cho tất cả mọi người. :) 'vim phiên bản 8'. – ArchNoob
Cách bật tính năng xếp trong phiên bản Vim mới đã thay đổi (tôi đang sử dụng vim 7.4). Bây giờ bạn nên tạo tập tin ~/.vim/ftplugin/javascript.vim
(trên Linux) và thêm các hướng dẫn gấp mã của bạn như được giải thích trong câu trả lời của Eric Johnson. Plugin phát hiện và tải tệp loại cho các loại tệp cụ thể phải được bật bằng cách đặt mã này vào số .vimrc
:
filetype plugin on
của bạn ... thật nhanh. –
Bạn có thực sự nhập tất cả điều này trong vòng một phút sau khi câu hỏi được đăng không? 1 cho rõ ràng, chi tiết và tốc độ! – Cascabel
Cảm ơn bạn đã chia sẻ trải nghiệm của mình! Bạn không biết cách bật C++? –