2011-01-25 6 views

Trả lời

126

Để 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

  1. Xem :help fold-methods để tìm hiểu chi tiết các phương pháp lần khác nhau.
  2. Xem :help folding để tìm hiểu các lệnh bàn phím để thao tác nếp gấp.
  3. Xem :help folds để được trợ giúp về toàn bộ chủ đề gấp.
+8

của bạn ... thật nhanh. –

+8

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

+0

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++? –

3

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.

+1

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

1

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