前言:
Vim是vi的升级版,Vim和vi的最大的区别就是编辑文本时vi不会显示颜色,而Vim会显示颜色。
如果系统里没有Vim工具,请按如下方法安装它:# yum install -y vim-enhanced
一、Vim的三种编辑模式
1、一般模式:当我们使用vim编辑文件时,默认进入文件的一般模式,在这个模式下,
你可以上下移动光标、删除某个字符、删除某行以及复制或粘贴一行或者多行。首先我们先复制一个内容比较多的文件,
然后再用Vim编辑它,命令如下所示:
进入文件后就是一般模式,在该模式下,我们可以通过上(k)下(j)左(h)右(l)键移动光标的位置,
如图所示:
还有几个移动光标的命令:
Ctrl+B:文本页面向前翻一页。
Ctrl+F:文本页面向后翻一页。
数字0或者Shift+6:移动到本行行首。
Shift+4:移动到本行行尾。
gg:移动到首行。
G:移动到尾行。
nG(n是任意数字):移动到第n行。
在一般模式下,我们还可以实现字符或字符串的复制、删除、粘贴等操作,
如下表所示:
按键 |
作用 |
x和X |
x表示向后删除一个字符,X表示向前删除一个字符。 |
nx |
向后删除n个字符 |
dd |
删除/剪切光标所在的那一行。 |
ndd |
删除/剪切光标所在行之后的n行。 |
yy |
复制光标所在行。 |
p |
从光标所在行开始,向下粘贴已经复制或者粘贴的内容。 |
P |
从光标所在行开始,向上粘贴已经复制或者粘贴的内容。 |
nyy |
从光标所在行开始,向下复制n行。 |
u |
还原上一步操作。 |
v |
按v后移动光标会选中指定字符,然后可以实现复制、粘贴等操作。 |
2、编辑模式:在一般模式下不可以修改某个字符,如果要修改字符,只能进入编辑模式。
从一般模式进入到编辑模式,只需i、I、a、A、o、O、r和R中的任何一个键即可,
如下图所示:
这里我们看到左下角出现插入或INSERT等字样,就证明已经进入到编辑模式了。
如果想退出,按Esc键即可退出编辑模式,回到一般模式了。
3、命令模式:在一般模式下,输入:或者/即可进入命令模式,
在命令模式下我们可以实现保存、替换、退出、等一些操作,
如下图所示:
文件下方的:wq就表示保存并退出,回车即可。下面我们把其它的一些命令也列举出来:
- /word:在光标之后查找一个字符串word,按n向后继续搜索。
- ?word:在光标之后查找一个字符串word,按n向前继续搜索。
- :n1,n2s/word1/word2/g:在n1和n2行之间查找word1并替换为word2,不加g则只替换每行的第一个word1 。
- :1,$s/word1/word2/g:将文档中所有的word1替换为word2,不加g则只替换每行的第一个word1。
- :w :保存文本。
- :q :退出Vim。
- :w!:强制保存,在root用户下,即使文本只读也可以完成保存。
- :q!:强制退出,所有改动不生效。
- :wq :保存并退出。
- :set nu :显示行号。
- :set nonu:不显示行号。
4、Vim实践:
下面我们来往一个空白文档中写入一段文字,然后保存。
首先,输入 vim test.txt 回车,进入一般模式:# vim test.txt
按i键进入编辑模式,在窗口的右下角会显示“-插入-”或者“-INSERT-”,说明已经进入插入模式,允许编辑文档。
然后我们输入以下文字:This is a test file.
I like to using it,do you like it?
输入之后按Esc键左下角的“-插入-”或者“-INSERT-”消失,然后输入:wq,回车保存即可。
然后我们可以查看我们刚才编辑的内容:# cat test.txt