Answers:
不,你不必从你在你的链接到页面把命令~/.vimrc
,你可以只发出后键入他们:
在vim
得到命令提示符。
但是,如果您放行:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
如您在中提供的链接中所示~/.vimrc
,您不必每次想在文件中使用折叠时都键入它们。在set nofoldenable
确保了打开时,文件是“正常的”,即不折叠。
:
。set
在键入时出现提示后,键入命令:
。在zc
您类型时,你可以自由地移动光标,就像你会使用zt
来获取文本光标到当前屏幕的顶部。
Vim的默认折叠方法manual
意味着折叠是手动创建的。否则,不存在折叠被关闭或打开使用za,zo或zc作为你说明。但是,你可以创建一个折叠通过zf{motion}
在普通模式或zf在可视模式; 例如,zfj在正常模式下,为当前行创建一个折叠,然后再创建一个折叠。
indent
@Anthon接受的答案描述了如何将折叠方法设置为indent
; 即折叠是由压痕的级别定义的。
syntax
以更方便的方式,可以根据当前缓冲区的语言语法自动创建折叠。如果使用的是一种编程语言,让我们称之为大号,你有折叠定义大号(例如已安装在其中的折叠信息一个Vim插件大号定义;如c.vim为C / C ++,或蟒-mode for Python),您只需要将折叠方法设置为syntax
:
set foldmethod=syntax
而已。使用折叠最有用的命令是:
foldlevel
一个。foldlevel
一。foldlevel
到零-所有折叠都会打开。您可以folding
在当前会话中启用@Anthon的答案。但是,如果要使其永久化,则必须至少设置以下行.vimrc
以折叠工作:
set foldmethod=indent
indent
是一种折叠,您可以从中看到更多 :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
现在,每次使用打开文件时vim
,您都可以看到代码被设置的方法折叠了。然后你可以使用za
,zc
,zo
。