目录
vim介绍
vi是Linux中自带的文本编辑器,而vim是vi的改进版本,使用起来更加方便,功能也更加强大。
我们在Linux中进行文本编辑基本上都要用到vim。比如我们如果需要编写一个shell脚本,那么我们肯定不能直接在命令行中进行shell脚本的编程,这时候就需要创建一个普通文件,然后使用vim对该文件的内容进行编写,从而完成一个shell脚本的编写。我们如果想在Linux中编写一个c语言程序,也需要用到vim进行编写。
vim在使用过程中,有三种不同的模式,从而适应不同的功能
vim的优点
简单,编辑速度迅速,简洁,功能丰富且强大,可以主动以字体颜色辨别语法的正确性。
vim的格式
vim 文件名
如果存在该文件将会进入文本编辑界面,如下图
如果一开始没有这个文件,系统会直接创建一个该名字的文件,然后再进入上图的文本编辑界面
vim的三种模式
vim具有三个模式,一般模式,编辑模式,命令行模式。可以通过键盘进行模式切换。
一般模式
通过vim进行文本编辑时,首先进入的模式就是一般模式。
在这个模式中, 你可以使用“上下左右”按键来移动光标,你可以使用“删除字符”或“删除整行”来处理文件内容, 也可以使用“复制、粘贴”来处理文件内容。
删除
通过一些按键可以达到不同的删除效果
x :删除光标位置处的字符
n x(n为数字):删除从光标开始往后的n个字符(包括当前位置)
dd:删除当前光标位置处的那一行
n dd (n为数字):删除当前光标所在行往后的n行内容(包括当前行)
复制,粘贴
yy :复制当前光标位置的行的内容
n yy(n为数字) :复制当前光标所在行往后的n行内容(包括当前行)
p(小写):将复制的内容放到当前光标位置的下一行
P(大写):将复制的内容放到当前光标位置的上一行
恢复操作
如果不小心删除了不应该删除的东西,那么我们就需要撤销上一步的操作。在vim中也有这种功能。我们只需要在键盘上按下u就可以回到上一步操作前。我们可以通过这样的操作直到回到档次进入vim的最开始的状态。
重复操作
我们可以通过在键盘上按下ctrl+r,让系统重复上一步的操作。
块选择
在键盘上输入一个v后使用键盘进行移动,移动过的区域会被标识出来,表示被块选择。可以对整块文本进行删除复制等操作。
编辑模式
编辑模式顾名思义,就是可以对文本进行编辑的状态。在该模式下,用户可以输入任意字符,并且vi可以将其内容当作文件保存下来。编辑模式下,界面的左下角会有当前模式的标识。
进入方法
i :通过在键盘上按下一个i进入编辑模式的插入模式,就是在光标处插入内容。
a:通过在键盘上按下一个a进入编辑模式的附加模式,就是在光标后面添加内容。
o:通过在键盘上按下一个o进入编辑模式的打开模式,就是在光标的下一行插入一行空白行并将光标移到空白行,然后进入插入模式。
r:通过在键盘上按下一个r进入编辑模式的替换模式,就是将光标处的字符替换为输入的字符。
退出方法
通过在键盘上按下esc键即可退出编辑模式,回到一般模式。
注意
要进入编辑模式,首先要保证当前模式是一般模式。
命令行模式
在该模式下可以进行一些命令操作,比如保持,退出,查找,替换等操作。
进入方法
在一般模式状态下通过键盘输入:/ ?这三个符号的其中一个即可进入命令行模式,然后会将光标移动到左下脚。
退出方法
通过在键盘上按下esc键即可退出命令行模式,回到一般模式。
注意
要想进入命令行模式,首先要保证当前模式是一般模式。
具体用法
保存
通过在键盘上按下:进入命令行模式,在命令行模式下输入w然后回车即可保存。
退出
通过在键盘上按下:进入命令行模式,在命令行模式下输入q然后回车即可退出。
如果改变了文件但是不想保存就直接退出,就在命令行模式下输入q!然后回车即可。
其中!表示强制的意思。
保存并退出
通过在键盘上按下:进入命令行模式,在命令行模式下输入wq然后回车即可。
查找
通过在键盘上按下/或者?进入命令行模式,然后在命令行模式下输入需要查找的内容,按下回车即可。其中?为从光标向上寻找,/为从光标向下寻找。然后系统会把查找结果通过高亮标识出来。
进行查找命令时,光标会根据模式移动到第一个找到的目标,这时候我们可以通过在键盘上按下n,让光标移动到下一个找到的位置。按下N,可以让光标移动到上一个位置。
替换
通过在键盘上按下:进入命令行模式,然后在命令行模式下输入如下内容
n1,n2s/word1/word/g
其中,n1和n2为数字,word1和word2为字符串,表示从n1行开始,到n2行结束,查找word1替换为word2。
特殊用法
在普通用法中,可以把n2s替换为$s,表示从n1开始到最后一行。
在普通用法中,最后一个字段中的g可以改成gc,这样在替换的时候系统会询问是否需要替换。
注意
命令行模式和编辑模式不能直接切换,需要先按下esc,进入一般模式,再进入另一个模式。
一次性对多个文件进行文本编辑
在使用vim的时候可以一次性对多个文件进行编辑,只需要在输入命令时把需要编辑的文件名列举出来即可。如下图
切换文件
通过:进入命令行模式后,输入n则为下一个文件,输入N则为上一个文件。
查看文件列表
通过:进入命令行模式后,输入files,则会列举出打开的所有文件,在图中的%a代表着当前文件,#标识为上一个文件。
总结
vim虽然看上去十分简洁,但是功能十分强大,学好对于vi的使用,是后续学习shell编程和在Linux环境下进行c语言编程的前提。因为后续的编程都需要在vi环境下进行,所有学好vi是十分有必要的。