复制/粘贴
yiw |
拷贝光标上的单词(不包括空格) |
viwp |
用yanked替换单词 |
viw"0p |
用yanked替换另一个单词 |
ctrl-r + |
粘贴来自操作系统粘贴板 |
窗口 Windows
n Ctrl-<> |
通过n增加/减少窗口宽度 |
n Ctrl-+/- |
通过n增加/减少窗口高度 |
Ctrl-W= |
使窗口大小相等 |
Ctrl-w s/v |
水平/垂直分割窗口 |
Ctrl-w c |
关闭窗口 |
Ctrl-w w |
移动到下一个窗口 |
Ctrl-w hjkl |
移动到hj |
命令Commands
:%!command |
通过命令过滤缓冲区 |
:w !sudo tee % |
即使写保护也保存文件 |
:%s//<bar>/g |
利用<bar>替换每次出现的最后一个搜索项 |
:g/pattern/d |
删除包含模式的行 |
:v/pattern/d |
删除不包含模式的行 |
:n,m ! cmd |
通过shell cmd过滤n到m行 |
:new|r ! cmd |
运行cmd,将输出放到新窗口 |
:set wrap linebreak nolist |
设置软封装 |
:set list |
显示空格,制表符,换行符 |
:set pastetoggle |
更改为粘贴模式 |
:nohlsearch |
清除搜索高亮 |
移动Moving
% |
跳到匹配的括号 |
# |
向后搜索 |
ctrl-O |
跳到较旧的地方 |
n / N |
向前/向后搜索 |
H / M / L |
移动到屏幕的顶部/中部/底部 |
ctrl-d/u |
向下/向上移动半屏幕 |
Ctags / cscope
ctrl-] |
跳转到定义 |
ctrl-w } |
显示预览 |
折叠
zM/zR |
折叠/展开缓冲区 |
zc/zo |
折叠/展开段落 |
zC/zO |
折叠/展开段落中的所有级别 |
:set foldmethod=indent |
通过缩进折叠 |
:set foldmethod=syntax |
通过语法折叠 |
标记Marks
ma |
设置本地标记 a |
mA |
设置全局标记 A |
'a |
跳到有标记a的行 |
`a |
跳转到带有标记a的位置 |
My mappings
,cc |
注释代码 |
,co |
取消注释代码 |
,c / ,v |
从持久缓冲区复制/粘贴 |