编辑器之神 vim

vi简介

  vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多

Vi有三种基本工作模式

  + 命令模式

  + 文本输入模式

  + 末行模式

vim基础操作

  vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富

      Esc:从插入模式或末行模式进入命令模式

  插入

  i        插入光标前一个字符

  I        插入行首

  a        插入光标后一个字符

  A         插入行未

  o(小写字母o) 向下新开一行,插入行首

      O(大写字母O)  向上新开一行,插入行首

 

  光标移动

  ^         移动到光标所在行的行首

  $         移动到光标所在行的行尾

  gg       光标移动文件开头

  G         光标移动到文件末尾

  w(word)   向后移动一个单词

  b         向前移动一个单词

  M(middle)  光标移动到屏幕中间

  L          光标移动到屏幕最后一行的行首

  {        按段移动(以空行为分段),上移

  }        同上,下移

  Ctrl + d      向翻半屏

  Ctrl + u      向翻半屏

  Ctrl + f       向下翻一屏幕

  Ctrl + b      向上翻一屏幕

 

  删除

  x        删除光标后的一个字符,相当于 del

  X        删除光标前的一个字符

  dd       删除光标所在行

  n dd       删除光标所在行及以下 n 行

  D         删除光标后本行所有内容,包含光标所在字符

  d0(数字0)    删除光标前本行所有内容,不包含光标所在字符

  dw       删除光标开始的单词,包含光标所在字符, 意思是“从这里切到下一个单词”

      de         意思是“从这里切到当前单词的结尾”。

      db         反向删除一个单词

  

  撤销

  u        一步一步撤销

  Ctrl + r      反撤销

 

  重复命令

  .(点)      重复上一次操作的命令,如 dd,然后 .(点)

 

  文本移动

  >>       文本行

  <<       文本行

 

  复制粘贴

  yy        复制当前行

  n yy       从当前行开始复制 n 行,包含当前行

  p         在光标所在位置向下新开辟一行,粘贴 dd(删除) 、yy(拷贝) 的内容

 

  可视模式

  v(visual)   按字符选中文本,选中文本为可视模式,可配合 d、y、>>、<< 实现对文本的删除,复制,左右移动

  V         按行选中文本,选中文本可...

 

  替换操作

  r        替换光标所在字符

  R          替换所有字符

 

  查找

  /        str 查找

  n          查找下一个

  N         查找上一个

 

    shift + : 从命令模式进入末行模式

      替换命令

        在文件中把 abc 全部替换成 123:%s/abc/123/g

        在文件中把第1行至第10行之间的abc替换成123:1, 10s/abc/123/g

      set number      设置行号

    

      vim 里执行 shell 命令

        输入 !,后面跟命令

      daw:删除单词,全选:ggVG

      

      va":选中当前引号中的内容

      Vim快速移动光标至行首和行尾

        1、 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。

        2、 如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键"$"(Shift+4)。与快捷键"^"和0不同,快捷键"$"前可以加上数字表示移动的行数。例如使用"1$"表示当前行的行尾,"2$"表示当前行的下一行的行尾。

end~~~

    

 

 

 

每天都要遇到更好的自己.
原文地址:https://www.cnblogs.com/kaichenkai/p/10821021.html