Vim是从 vi 发展出来的一个文本编辑器。带颜色显示、代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

Vim键盘图

blob.png

Vim安装:yum install -y vim-enhanced; (我已安装,所以没有安装过程显示!)

blob.png

Vim的使用

    vim有三种模式:分别是一般模式、编辑模式和命令模式

一般模式

    用户启动vim编辑器,便进入了一般模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

    以下是常用的几个命令:

        i 切换到输入模式,以输入字符。

        x 删除当前光标所在处的字符。

        : 切换到命令模式,以在最底一行输入命令。

    若想要编辑文本:启动Vim,进入了一般模式,按下i,切换到编辑模式。

编辑模式

    在一般模式下按下i就进入了编辑模式。在编辑模式下,可以进行编辑内容等操作。        

命令模式

    在一般模式下按下:(英文冒号)就进入了命令模式。命令模式可以输入单个或多个字符的命令,可用的命令非常多。

    在命令模式中,基本的命令有(已经省略了冒号):

        q 退出程序

        w 保存文件

    按ESC键可随时退出命令模式。

三种模式的转换图

blob.png

下面介绍vim常用的按键

一般模式下移动光标:

blob.png

一般模式下复制粘贴:

blob.png

进入编辑模式:(主要是aioAIO)

blob.png

命令模式:

blob.png

练习:

# cp /etc/dnsmasq.conf  /tmp/1.txt


(1) 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)。

(2) 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b)。

(3) 把光标移动到第49行(49G)。

(4) 把光标移动到行尾,再移动到行首(Shift+4, Shift+6)。

(5) 移动到1.txt文件的最后一行(G)。

(6) 移动到文件的首行(gg)。

(7) 搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数(/dnsmsq 然后按n)。

(8) 把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)。

(9) 还原上一步操作(u)。

(10) 把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)。

(11) 把光标移动到第25行,删除字符串 “ly”(25G 然后按l向右移动光标找到"ly",按v选中,然后按x)。

(12) 还原上一步操作(u)。

(13) 删除第50行(50G dd)。

(14) 还原上一步操作(u)。

(15) 删除第37-42行的所有内容(37G 6dd)。

(16) 还原上一步操作(u)。

(17) 复制第48行的内容并粘贴到第52行下面(48G yy 52G p)。

(18) 还原上一步操作(u)。

(19) 复制第37-42行的内容并粘贴到第44行上面(37G 6yy 44G P)。