·概念及其学习原因
Vi是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved的简称,和Emacs并列成为类Unix系统用户最喜欢的编辑器。几乎可以说任何一台Unix机器都会提供这套软件。由于Vim具有代码补完、编译及错误跳转等方便编程的功能,在程序员中被广泛使用。
·最基本的操作流程
1.在命令行里运行vim文件名.扩展名,如果文件名不存在,则新建一个空文件。
2.vim的工作模式:
不同于一般的文本编辑器,VIM存在3种工作模式,分别是命令模式,插入模式和VISUAL模式。刚打开vim时处于命令模式,按一下键盘i则进入插入模式。注意这时的窗口左下角原本显示文件名的地方现在显示“-- INSERT --”。在插入模式下我们可以像普通的编辑器那样输入文本,进行编辑。当我们想退回命令模式时按键。
3.获取帮助信息
:help
:help subject
比如想看看x命令的帮助::help x
学习vim的主要原因有:
1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。
2)很多软件的编辑接口都会主动调用vi。
3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。
4)程序简单,编辑速度快。
·Vim的基本使用方法及其相关命令
vim编辑器的三种模式:一般模式、编辑模式和命令行模式。
在一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式。在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行。在这个模式中可以提供查找数据的操作,而读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的。需要注意的是,编辑模式与命令行模式之间是不能互相切换的。
移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。
[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。
0或功能键[Home]:移动到这一行的最前面字符处。
$或功能键[End]:移动到这一行的最后面字符处。
G:移动到这个文件的最后一行。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行。
查找和替换:
/word:向下寻找一个名称为word的字符串。
?word:向上寻找一个名称为word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下n行。
yy:复制光标所在的一行。
nyy:复制光标所在的向下n行。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
u:复原前一个操作。
[Ctrl]+r:重做上一个操作。
.:小数点,重复前一个操作。
一般模式切换到编辑模式:
i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。
一般模式切换到命令行:
:w:将编辑的数据写入到硬盘中。
:q:离开vi.后面加!为强制离开。
:wq:保存后离开。
:wq!:强制保存后离开。
目前主要的编辑器都有恢复功能,vim也不例外。vim是通过“保存”文件来挽回数据的。
每当我们在用vim编辑时,vim都会自动在被编辑的文件的目录下面再新建一个名为filename.swap的文件。这就是一个暂存文件,我们对文件filename所做的操作都会被记录到这个文件当中。如果系统意外崩溃,导致文件没有正常保存,那么这个暂存文件就会发挥作用。
用vim编辑name.txt文件:vim name.txt
在vim的一般模式下按下ctrl+z组合键,vim就会被丢失到后台执行。回到命令提示符环境后,我们模拟将vim的工作不正常中断。
·vim的功能(在命令行中输入vimtutor或者gvimtutor可以阅读,遇到问题时可以使用:help)
【1】块选择
这个功能可以让复制一个矩形区域的内容
v:字符选择,会将光标经过的地方反白选择;
V:行选择;
Ctrl+v:块选择;
y:复制反白的地方;
d:删除反白的地方。
【2】多文件编辑
两个或多个文件之间复制粘贴内容时,这个功能会方便很多
使用命令vim name1 name2 name3...(各个文件名之间用空格隔开)可以同时打开多个文件。
:n:编辑下一个文件;
:N:编辑上一个文件;
:files:列出目前vim打开的所有文件。