修改操作:
删除到行尾: D
backspace: ctrl + h
当前行向左缩进: <<
当前行向右缩进: >>
光标后n行向右移动一个tab: n>>
a行至b行向右移动一个tab: :a,b>
a行至b行向右移动两个tab: :a,b>>
跳转操作:
查找当前单词的下一个位置: *
查找当前单词的上一个位置: #
跳转至匹配括号: %
跳转至当前单词的词尾: e or E
移动到当前行的a字符的前一个字符: ta
移动到当前行的a字符: fa
行操作:
行小写: guu
行大写: gUU
行翻转: g~~
代码折叠:
展开当前折叠区域 0
折叠(小范围) zc
折叠当前范围所有嵌套 zC
展开折叠 zo
展开当前范围所有嵌套 zO
光标转至当前折叠的开始处 [z
光标转至当前折叠的末尾处 ]z
向下移动,达到下一个打开的折叠的开始处 zj
向上移动,到达上一个打开的折叠的结束处 zk
块操作<C-v> (windows: <C-q>)
开始块操作可便捷实现列模式
整体缩进、整合成行
可在块 行首或行尾增加字符
替换:
命令格式:[range]s/from/to/[flags]
[range]默认为当前行,[%]为全文本,[n,m]为指定范围为n至m行
[flags]我的vim默认无需确认
g - 无需确认
c - 替换前确认(y/n/a/q/1/^E/^Y)
y - 同意当前替换
n - 不同意当前替换
a - 当前及以后替换无需确认
q - 结束替换
l - 替换当前并结束
^E - 向上滚屏
^Y - 向下滚屏
删除到行尾: D
backspace: ctrl + h
当前行向左缩进: <<
当前行向右缩进: >>
光标后n行向右移动一个tab: n>>
a行至b行向右移动一个tab: :a,b>
a行至b行向右移动两个tab: :a,b>>
跳转操作:
查找当前单词的下一个位置: *
查找当前单词的上一个位置: #
跳转至匹配括号: %
跳转至当前单词的词尾: e or E
移动到当前行的a字符的前一个字符: ta
移动到当前行的a字符: fa
行操作:
行小写: guu
行大写: gUU
行翻转: g~~
代码折叠:
展开当前折叠区域 0
折叠(小范围) zc
折叠当前范围所有嵌套 zC
展开折叠 zo
展开当前范围所有嵌套 zO
光标转至当前折叠的开始处 [z
光标转至当前折叠的末尾处 ]z
向下移动,达到下一个打开的折叠的开始处 zj
向上移动,到达上一个打开的折叠的结束处 zk
块操作<C-v> (windows: <C-q>)
开始块操作可便捷实现列模式
整体缩进、整合成行
可在块 行首或行尾增加字符
替换:
命令格式:[range]s/from/to/[flags]
[range]默认为当前行,[%]为全文本,[n,m]为指定范围为n至m行
[flags]我的vim默认无需确认
g - 无需确认
c - 替换前确认(y/n/a/q/1/^E/^Y)
y - 同意当前替换
n - 不同意当前替换
a - 当前及以后替换无需确认
q - 结束替换
l - 替换当前并结束
^E - 向上滚屏
^Y - 向下滚屏