Linux Bash-vim

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Bash-vim相关的知识,希望对你有一定的参考价值。

vim,Virtual Interface Improvement,是一个全屏化的模式化编辑的编辑器。

  • 模式

  编辑模式(命令模式):

  输入模式:

  末行模式:

  • 模式转换

  编辑模式->输入模式:

    i:在当前光标所在字符的前面转为输入模式。

    a:在当前光标所在字符的后面转为输入模式。

    o:在当前光标所在行的下方新建一行,并转为输入模式。

    I:在当前光标所在行的行首转为输入模式。

    A:在当前光标所在行的行尾转为输入模式。

    O:在当前光标所在行的上方新建一行,并转为输入模式。

  输入模式->编辑模式:

    ESC

  编辑模式->末行模式:

    :

  末行模式->编辑模式:

    ESC

  • 打开文件

  vim /path/to/file:打开文件。

  vim +n /path/to/file:打开文件,定位到指定行。

  vim + /path/to/file:打开文件,定位到文件最后一行。

  vim +/pattern /path/to/file:打开文件,定位至第一次被pattern匹配到的行的行首。

  • 关闭文件

  末行模式下:

  wq:保存文件并退出。

  q:退出。

  q!:不保存并退出。

  w:保存文件。

  w!:强行保存。

  x:保存文件并退出。

  编辑模式下:

  ZZ:保存文件并退出。

  • 移动光标

  逐字符移动:

  h:向左移动。

  j:向下移动。

  k:向上移动。

  l:向右移动。

  num+h:向左移动num个字符。

  num+j:向下移动num个字符。

  num+k:向上移动num个字符。

  num+l:向右移动num个字符。

  逐单词自动:

  w:移至下一个单词的词首。

  e:移至当前单词或下一单词的词尾。

  b:移至当前单词或上一单词的词首。

  num+w:

  num+e:

  num+b:

  行内跳转:

  0:跳转至行首,绝对行首。

  ^:跳转至行首非空白字符,非绝对行首。

  $:跳转至行尾,绝对行尾。

  行间跳转:

  num+g:直接跳转至第num行。

  G:直接跳转至最后一行。

  • 翻屏操作

  ctrl+f:向文件尾部翻一屏。

  ctrl+b:向文件首部翻一屏。

  ctrl+d:向下翻半屏。

  ctrl+u:向上翻半屏。

  • 编辑命令

  编辑模式下:

  x:删除光标所在处一个字符。

  num+x:删除光标所在处及向后的共num个字符。

  d:与跳转命令组合使用,删除指定字符。

  num+d+跳转符:

  dd:删除光标所在行。

  num+dd:删除包括当前光标所在行在内的共num行。

  p:如果删除或复制的为整行内容,则粘贴至光标所在行的下方;如果删除或复制的内容为非整行,则粘贴至光标所在字符后面。

  P:如果删除或复制的为整行内容,则粘贴至光标所在行的上方;如果删除或复制的内容为非整行,则粘贴至光标所在字符前面。

  y:与跳转命令组合使用,复制指定字符。

  c:与跳转命令组合使用,删除字符后转换到输入模式。

  r:将指定内容替换为指定字符,只能替换单个字符。

  R:进入替换模式

  u:撤销前一次编辑操作,连续u命令可以撤销此前的n次操作。

  num+u:撤销num次编辑操作。

  ctrl+r:撤销刚才的撤销操作。

  .:重复前一次的编辑操作。

  v:进入可视化模式,按字符选取。

  V:进入可视化模式,按矩形选取。

  /pattern:向下匹配查找。

  ?pattern:向上匹配查找。

  末行模式下:

  Start,Endd:删除从start行到第end行。

  .:当前行。

  $:最后一行。

  +n:向下的n行。

  s:查找并替换。

以上是关于Linux Bash-vim的主要内容,如果未能解决你的问题,请参考以下文章

在linux中如何替换文件中模式内的子模式

Linux--Vi编辑命令(插入替换命令行模式撤销)

Linux —— 查找与替换

linux之文本内容替换命令sed

linux基础命令之:vi模式下查找和替换

Linux基础命令