vim基本操作

Posted spground

tags:

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

曾经听过如下关于vim的笑话:

随机生成字符串最好的方式就是让新手退出vim编辑器。

可见刚接触vim的人对于vim的使用可谓是浑身难受啊,不过由于在Linux的世界里,vim常常是作为内置的文本编辑器存在的。
因此在非桌面环境中编辑文件就需要熟悉vim,这样才能得心应手的进行日常工作。

三种编辑模式

vim是vi的改进版,这里不做区分,统一用vim代替vi。

  1. 一般模式

使用如下命令:

vi demo.txt

这样打开的一个文件模式就属于一般模式,该模式下可以使用上下左右键移动光标、删除、复制粘贴字符或者正行等,但是不__能插入__新的字符。

技术分享图片

  1. 编辑模式

在一般模式下无法编辑文件内容。可以通过在一般模式下按下如下的按键进入编辑模式:

  • i,I : i为当前光标处插入,I为当前行的第一个非空格字符插入;(类似Home + i)
  • a,A:a为当前光标下一个字符插入,A为当前行的最后一个字符插入;(类似End + i)
  • r,R:进入替换模式,r只会替换光标所在的字符一次,而R会一直替换直到按下Esc键;

这么多进入编辑模式的按键,常用的就是__i和a,A__。

  1. 命令行模式

一般模式进入命令行模式,输入: ? / 三个字符中的任意一个即可进入。
该模式下的功能十分丰富,提供数据的查找、替换,文件保存,显示行号等文本编辑器的高级功能。

如下图所示:按下:,输入命令wq即可保存当前的更改并退出编辑器。

技术分享图片

常见的快捷键

一般模式下的常用按键:

  • 光标移动
    • 0或Home : 光标移动至当前行首;
    • $或End:光标移动至当前行尾;
    • G:移动的文件的最后一行;(常用)
    • nG:n为数字,移动到文件的第n行;例如20G移动到这个文件的第20行;
    • gg:移动到文件的第一行。相当于1G(常用)
    • J:将光标所在行与下一行的数据和为一行,类似删除本行的
    • u:撤销上一次操作;(undo)
    • ctr+r:重做上一次操作,反撤销;(redo)
    • .:重复上一次操作,重复删除,重复粘贴等;
  • 删除、复制和粘贴
    • x,X:x为向后删除一字符类似del,X为前删类似backspace;
    • nx:后删n个字符
    • dd:删除当前行
    • ndd:删除当前行及以后的合计n行
    • d1G:删除光标所在的行到第一行的所有字符
    • dG:删除光标所在行到最后一行的所有字符
    • d$:删除光标到当前行的行尾之间的字符
    • d0
    • yy:y是复制,同删除;
    • nyy
    • y1G
    • yG
    • y0
    • y$
    • p,P:p是将复制的内容再光标下一行开始粘贴,P是在光标的上一行开始粘贴。
  • 查找
    • /pattern:进入命令模式,输入查找的正则pattern,向下查找下一个符合pattern的字符串。
    • ?patterb:向上寻找符合pattern的字符串;
    • n:按照相同的方向重复前一个查找的操作,next;
    • N:按照相反的方向重复前一个查找操作
  • 替换
    • :n1,n2s/w1/w2/g 在n1和n2行之间,寻找w1,用w2去替换。
    • :n1,n2s/w1/w2/gc 在n1和n2行之间,寻找w1,用w2去替换,替换之前需要询问用户;
    • :0,$s/p/P/gc


以上是关于vim基本操作的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

vim代码片段插件ultisnips的使用

Sublime text3最全快捷键清单

如何使用sublime代码片段快速输入PHP头部版本声明