学习笔记(6)——vi和vim

使用vi或者vim进行文本编译应该是每个Linux使用者都应该掌握的技能之一。由于习惯使用图形化的文本编译器,所以刚开始接触时感觉还是挺难的,好多命令要记。

vi一共分为三种模式:一般模式,编辑模式,命令行模式。

(1)一般模式:使用vi打开一个文档后默认进入一般模式,在一般模式下可以移动光标,可以删除字符或删除整行字符,也可以复制粘贴文件数据。

(2)编辑模式:按“i、a、o、r(I、A、O、R)”进入编辑模式。按esc退出。

(3)命令行模式:在一般模式下,按“:、/、?”进入命令行模式,可以进行数据查找、读取、保存、大量字符替换、离开vi、显示行号等操作。

注:编辑模式与命令行模式不能相互切换,需要通过一般模式进行中转。

vim具有显色功能,一般情况下vi会被vim代替。vim中的包含vi的操作指令,并且还有其特有的操作指令。

vi具体操作说明:

移动光标的方法

使用“上(k)下(j)左(h)右(l)”将光标向“上下左右”移动一个字符。

使用“数字+方向键”可以进行多行或多个字符的移动。左右移动时,不自动换行。

使用“Ctrl+f”屏幕向下移动一页,相当于PgDn键。

使用“Ctrl+b”屏幕向上移动一页,相当于PgUp键。

使用“Ctrl+d”屏幕向下移动半页。

使用“Ctrl+u”屏幕向上移动半页。

使用“+(若使用主键盘区时,注意不是“=”,要使用shift+=)”光标移动到非空格的下一行。

使用“-”光标移动到非空格的上一行。

使用“数字(n)+space”光标右移动n个字符,一行字符不够自动换行

使用“0”光标移动到这一行的第一个字符,相当于Home键。

使用“$(注意中文输入法与英文输入法的区别)”光标移动到这一行的最后一个字符,相当于End键。

使用“H(注意是大写)”光标移动到这个屏幕上最上边一行的第一个字符。

使用“M(注意是大写)”光标移动到这个屏幕上中间一行的第一个字符。

使用“L(注意是大写)”光标移动到这个屏幕上最下边一行的第一个字符。

使用“G(注意是大写)”光标移动到这个文件的最后一行。

使用“数字(n)+G”光标移动到这个文件的第n行。(显示行号的命令下边会介绍)

使用“gg”光标移动到这个文件的第一行,相当于“1G”。

使用“数字(n)+Enter”光标向下移动n行。

查找:

使用“/+string”来向下查找string,光标移动至string的第一个字符处。

使用“?+string”来向上查找string,光标移动至string的第一个字符处。

使用“n(英文按键)”重复前一个查找操作。

使用“N(英文按键)反向重复前一个查找操作。

替换:

使用“:n1,n2s/string1/string2/g”在第n1行与第n2行之间,查找string1,并将所有的string1替换为string2。

使用“:1,$s/string1/string2/g”在第1行与最后一行行之间,查找string1,并将所有的string1替换为string2。

使用“:1,$s/string1/string2/gc”在第n1行与第n2行之间,查找string1,并将所有的string1替换为string2(在替换前显示提示字符给用户确认是否要替换)。

删除:

使用“x和X”删除光标后一个和前一个字符(相当于Del)。

使用“数字(n)+x”删除光标后n个字符。

使用“dd”删除光标所在的一整行。

使用“d1G”删除光标所在到第一行的所有数据。

使用“dG”删除光标所在到最后一行的所有数据。

使用“数字(n)+dd”删除光标所在向下n行的所有数据。

使用“d$”删除光标所在到该行的最后一个字符(包括光标所在的字符)。

使用“d0”删除光标所在到该行的第一个字符。

复制粘贴:

使用“yy”复制光标所在的一行。

使用“p(P)”将已经复制的数据在光标下一行(上一行)粘贴。

使用“数字(n)+yy”复制光标所在向下的n行数据。

使用“y1G”复制光标所在到第一行的所有数据。

使用“yG”复制光标所在到最后一行的所有数据。

使用“y$”复制光标所在到该行的最后一个字符。

使用“y0”复制光标所在到该行的第一个字符。

其它:

使用“J”将光标所在行与下一行的数据结合成一行。

使用“u”复原前一个操作(相当于windows下文本编辑器中的Ctrl+z)。

使用“Ctrl+r”重做前一个操作(相当于windows下文本编辑器中的Ctrl+y)。

使用“.”重复前一个操作,如删除、粘贴等。

编辑模式:

使用“i(I)”进入插入模式,i为从光标所在处插入,I为目前所在行的第一个非空格符处开始插入。

使用“a(A)”进入插入模式,a为从光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入。

使用“o(O)”进入插入模式,o为在光标所在行的下一行插入新的一行,O为在光标所在行的上一行插入新的一行。

使用“r(R)”进入替换模式,r只会替换光标所在的那个字符一次,R会一直替换光标所在的字符,直到esc退出。

命令行模式:

使用“:set nu”来设置显示行号

使用“:set nonu”来设置取消行号的显示

使用“:w”将编辑数据写入磁盘(相当于保存)

使用“:q”退出vi编辑器

使用“wq”保存并退出,注意顺序

使用“!”强制的意思,一般与w和q连用,如“:w!”、":q!"、":wq!"等。

使用“ZZ(注意是大写的Z,没有“:”)”如果文件没有改动则退出,若有改动,则保存后退出。

使用“:w filename”将现在的文件另存为名字为filename的文件。

使用“:r filename”将名为filename的文件中的内容加到光标所在行的下一行。

使用“:n1,n2 w filename“将n1到n2的内容保存成filename这个文件。

使用“:! command”暂时离开vi到命令行中执行command命令的显示结果(command指具体的命令,如ls等)


vim具体操作说明:

使用”v(小写)“将光标经过的地方选中。

使用”V(大写)“将光标经过的行选中。

使用”Ctrl+v“块选择,以长方形的方式选择数据(类似鼠标操作)。

使用”y“复制选中的部分

使用”d“删除选中的部分

使用”vim filename1 filename2 filename3“来打开多个文件,同时编译

多文件编译模式下:

使用”:n“来编辑下一个文件

使用”:N“来编辑上一个文件

使用”:files“来显示所有可编译的文件

使用”:sp“来打开一个新的窗口,若后面加一个文件名,则在新的窗口中打开另一个文件,若不加文件名,则打开与原来文件相同的文件。(后打开的文件在上面)
使用”Ctrl+w+下(先按Ctrl+w,松开后按下)“将光标切换到下面的窗口
使用”Ctrl+w+上(先按Ctrl+w,松开后按上)“将光标切换到上面的窗口
使用”Ctrl+w+q或:q”离开光标所在窗口

使用“:set backspace=(0,1,2)”来设置退格键的使用。数值为2时可删除任意值;为0或1时只能删除刚才输入的文字,原本以及存在的不可删除,不同版本的linux这一设定不同。




发布了17 篇原创文章 · 获赞 0 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章