!执行外部命令
-------
d$删除到行尾
0是行首
-------
$ vim移动到行尾
Shift+A 移动到行尾,并编辑
最后一行是Shift+G
-------
yy、Y :复制当前光标所在处的行
nyy、nY:复制当前光标所在处及以下的n行
dd :剪切当前光标所在处的行
ndd :剪切当前光标所在处及以下的n行
p:在当前光标处下面粘贴内容。
P:在当前光标处上面粘贴内容。
vim有一个可视模式(Visual Mode),在此模式下可以选择文字区域进行操作。
具体步骤如下:
1. vim编辑文件时,在命令模式下按v键进入可视模式。
2. 建议使用键盘方向键来选择要复制的区域(鼠标选择的话会将vim显示的行号一并选入)。
3. 键入 "ay (会自动退出可视模式回到命令模式),表示将所选内容保存到标签为a的寄存器中,y表示复制(如果要剪切就把y换成x);若要直接删除,键入d。
4. 将光标定位到要粘贴的地方,按p键粘贴复制的内容。
5. 若要取消上一步操作,按u键即可。
-------vim查找
/word 这个是查找文件中“word”这个单词,是从文件上面到下面查找
?word 这个是查找文件中“word”这个单词,是从文件下上面到面查找
----vim打开上次编辑过的文件 C+o两次
两个gvim之间的复制,直接选中,什么都不用摁,然后在另外一个窗口中 鼠标中key
-----多行操作
ctrl +v shift+i 操作 esc
vimdiff 是一个不错的文本比较和合并的小工具,会以不同颜色显示文本的增删情况便于合并;习惯了vim 的童鞋用起来会很顺手。
略学了一下,完成了第一个文件合并任务,记录如下:
启动 vimdiff
- 方法一: # vimdiff FILE_LEFT FILE_RIGHT
- 方法二: # vim -d FILE_LEFT FILE_RIGHT
- 方法三: # vim FILE_LEFT 之后打 vim 后输入 :vertical diffsplit FILE_RIGHT
窗口布局切换
- Ctrl-w K (把当前窗口移到最上边)
- Ctrl-w H (把当前窗口移到最左边)
- Ctrl-w J (把当前窗口移到最下边)
- Ctrl-w L (把当前窗口移到最右边)
窗口焦点切换,即切换当前窗口
- CTRL-w h 跳转到左边的窗口
- CTRL-w j 跳转到下面的窗口
- CTRL-w k 跳转到上面的窗口
- CTRL-w l 跳转到右边的窗口
- CTRL-w t 跳转到最顶上的窗口
- CTRL-w b 跳转到最底下的窗口
- CTRL-w w 跳转到另一个窗口
- CTRL-w CTRL-w 跳转到另一个窗口,同 CTRL-w w
光标移动
- 移动光标,切分窗口会同步移动,使用 :set noscrollbind 命令可取消同步
- ]c 跳到下一个不同的地方
- [c 跳到上一个不同的地方
上下文折叠
默认情况下, vimdiff 会将文件中不同之处上下 6 行之外的相同文本折叠隐藏,可通过 :set diffopt=context:3 修改显示的上下文行数。
- zo 打开折叠
- zc 关闭折叠
文件合并
- dp 将当前窗口光标位置处的内容复制到另一窗口
- do 将另一窗口光标位置处的内容复制到当前窗口
- diffupdate 重新比较两个文件,如果手动修改文件的话有时不会自动同步
文件操作
- yy 复制当前行
- nyy 复制当前行开始的 n 行
- dd 删除当前行
- ndd 删除当前行开始的 n 行
- p 粘贴
- u 撤销
- CTRL-r 重复 ( 即取消撤销 )
wa 全部保存
wqa 全部保存后退出
qa 全部退出
qa! 全部强制退出,不保存文件修改