如何在Vim中啓用自動摺疊? set foldmethod=syntax
似乎沒有做任何事情。如何在Vim中啓用自動摺疊?
67
A
回答
126
要允許基於語法摺疊加入類似下面你.vimrc
:
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
基於語法的摺疊在位於$ VIM /語法語言的語法文件中定義。但是有些語言的語法文件沒有內置摺疊規則。例如Python。對於這些語言,您需要從http://vim.sf.net下載摺疊的東西。否則,您將需要使用基於縮進的摺疊。要做到這一點,你有效地將可能要添加以下到您的.vimrc文件:
set foldmethod=indent
set foldnestmax=2
其他各種摺疊式的
共有6種褶皺:
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
我個人只使用語法摺疊。通常我只想摺疊該方法,而不是摺疊每個縮進級別。在工作中不一致的縮進和奇怪格式的遺留代碼經常使縮進摺疊變得困難或不可能。對文檔添加標記是很乏味的,而不使用Vim的人在編輯文檔時不會對它們進行維護。手動摺疊很好地工作,直到有人在源代碼管理中編輯你的代碼,並且你所有的摺疊現在都在錯誤的地方。
更多閱讀
- 見
:help fold-methods
學習的不同摺疊方法的細節。 - 請參閱
:help folding
以瞭解操作摺疊的鍵盤命令。 - 請參閱
:help folds
以獲取整個摺疊主題的幫助。
3
JavaScript摺疊對我也不起作用。我發現當我做了設置語法= javaScript(與大寫S),它突然工作。
1
在Vim的新版本中啓用摺疊的方式已經改變了(我使用的是vim 7.4)。現在您應該創建文件~/.vim/ftplugin/javascript.vim
(在Linux上)並添加您的代碼摺疊指令,如Eric Johnson的答案中所述。文件類型檢測和加載插件的具體文件類型必須通過把它放入你的.vimrc
:
filetype plugin on
相關問題
- 1. vim中的自動ruby摺疊
- 2. 自動摺疊vim中的#defines
- 3. 如何在Vim中自動摺疊長C代碼?
- 4. 如何摺疊(摺疊)Doxygen默認在vim中註釋?
- 5. 目錄在Vim中摺疊
- 6. 在Vim中使用.vimrc自動摺疊Oracle內聯視圖
- 7. Vim Markdown摺疊?
- 8. 是摺疊的嗎? - 如何檢查在VIM摺疊
- 9. 如何使用vim摺疊C代碼?
- 10. 如何摺疊Vim中的類塊?
- 11. Vim摺疊 - 標記打開摺疊
- 12. 導出Vim摺疊?
- 13. Vim爲PHP摺疊
- 14. vim中的摺疊功能
- 15. VIM中的摺疊代碼
- 16. Bootstrap摺疊不會自動摺疊
- 17. 如何在TextMate中爲折扣啓用代碼摺疊?
- 18. VIM Markdown摺疊:部分摺疊子部分摺疊子部分
- 19. ExpandabeListView自動摺疊
- 20. vim - 如何獲取摺疊文件
- 21. 如何在vim中使用類似於c程序的摺疊
- 22. 禁用vim中的摺疊評論
- 23. 在VIM中摺疊C預處理器
- 24. 在Vim中爲CSS定製摺疊
- 25. 在vim中摺疊重複的行
- 26. 如何爲goclipse啓用代碼摺疊?
- 27. 重複Vim摺疊命令(例如zfat:摺疊標籤)
- 28. VIM語法摺疊:禁用摺疊多行註釋
- 29. Vim進口Scala摺疊
- 30. vim摺疊scss語法
呃......那很快。 – 2011-01-25 03:42:49
您是否真的在發佈的問題的一分鐘內鍵入了所有這些內容? +1,清晰,細節和速度! – Cascabel 2011-01-25 03:54:49