###常用跳转
ctrl+o跳转回起点ctrl+i上操作的反操作ctrl+]当页跳转(一般看帮助文档用)ctrl+d向下半页ctrl+u向上半页ctrl+e向下一行ctrl+y向上一行G跳转到最后一行1G跳转到第一行
###折叠
set fmd=[manual|indent|marker] 默认使用manual,indent根据缩进折叠,marker标记折叠
打开和关闭折叠:
1 zo 打开光标下的折叠。
2 zO 打开光标下的折叠,以及嵌套的折叠。
3 zc 关闭光标下的折叠。
4 zC 关闭光标下的折叠,以及嵌套的折叠。
5 za 当光标在关闭折叠上时,打开之。在打开折叠上时,关闭之。
6 zA 和za类似,不过对当前折叠和其嵌套折叠都有效。
7 zv 打开当前光标所在折叠,仅打开足够的折叠使光标所在的行不被折叠。
8 zr和zm 一层一层打开折叠和一层一层关闭折叠,这两个命令会递减和递增一个叫foldlevel的变量。如果你发现zm和zr不灵了,那有可能是你连续按的zr或zm次数多了,只要多按几次让foldlevel回到正常状态即可。执行以下zR和zM也可直接让foldlevel回到正常状态。
9 zR和zM 打开所有折叠,设置foldlevel为最高级别。关闭所有折叠,设置foldlevel为0。
在折叠间移动:
1 [z 到当前打开折叠的开始。如果已在开始处,移到包含这个折叠的折叠开始处。
2 ]z 到当前打开折叠的结束。如果已在结束处,移到包含这个折叠的折叠结束处。
3 zj 把光标移动到下一个折叠的开始处。
参考:
在vim中运行:h Folding 命令,查看折叠的帮助文档
###多行缩进:
按v键进入visual状态,选择多行,用<或>选择缩进方向
###多标签切换
:tabnew [++opt] [+cmd] 文件 建立对指定文件新的tab
:tabc 关闭当前的 tab
:tabo 关闭所有其他的 tab
:tabs 查看所有打开的 tab
:tabp 前一个 tab
:tabn 后一个 tab
标准模式下:
gT前一个 tab
gt后一个 tab
F2 可以快速打开或者关闭Nerdtree(需要在.vimrc配置)
###Ctags使用方法
ctags -R --languages=python --python-kinds=-i dir1 dir2...标识在当前目录下生成dir1 dir2的tags文件(会递归深入)
ctags `find target_dir -name "target_pattern"` 在当前目录下生成find命令返回的文件的tags文件
ctags --path "\pattern\to\target" 在当前目录下生成符合path路径模式的tags文件