!执行外部命令

-------

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!  全部强制退出,不保存文件修改