一、vim:是vi的增强版,Visual Interface iMproved,它是全屏编辑器,模式化编辑器,文本版处理工具。 vim编辑器的四种模式:编辑模式(命令行模式),输入模式,末行模式,可视化模式。

二、vim 打开文件,如:vim test.txt 如果test.txt存在,则打开此文件,不存在则创建此文件并打开,需要注意的是如果文件前面有目录,此目录必须要存在,如vim /my/test.txt那么/my必须存在。

			vim +n test.txt打开test.txt并跳到第n行
			vim + test.txt打开test.txt并跳到第最后一行
			vim +/pattern test.txt 打开test.txt文件并且跳到第一次匹配到的pattern的行

三、模式之间的切换

	vim打开文件时,是处于编辑模式下。
	编辑模式--->输入模式,按:
					i:在当前光标所在字符前,转为输入模式,I:跳到行首(非空白字符),进入输入模式
					o:在当前光标所在行的下一行,新建下一行,进入输入模式,O:在当前光标所在行的上一行,新建上一行,进入输入模式
					a:跳到当前光标所在字符的后面一个字符,进入输入模式,A:跳到行尾,进入输入模式
	输入模式--->编辑模式
					按ESC退出输入模式,进入编辑模式
	编辑模式--->末行模式
					按 : 进入末行模式
	末行模式--->编辑模式
					按 ESC   ESC 两下
	编辑模式--->可视化模式
	        v或V
	可视化模式--->编辑模式
					按 ESC   ESC 两下

四、光标移动(在编辑模式下)

	1.上下左右方向键单个字符移动
	2.k、j、l、h 可以上下左右单个字符移动光标
	(与数字件的组合,可以实现多个字符移动,如 3 加上 h 可以向右移动三个字符)
	3.以单词为单位移动
					w:跳到下一个单词的词首
					e:跳到单词的行尾,或下一个单词的词尾
					b:跳到单词的行首,或上一个单词的词首
					(同样可以和数字组合)
	4.行内跳转
					0:跳到行首
					^:跳到行首(非空白字符的行首)
					$:跳到行尾
					
		5.行间跳转
						G:跳到文件的最后一行
						gg:跳到文件的最上一行
						(同样可以和数字组合,在末行模式下直接给出行号,然后按回车键即可)

五、翻屏跳转(编辑模式下)

			ctrl+f :向下翻一屏
			ctrl+b :向上翻一屏
			ctrl+d :向下翻半屏
			ctrl+u:向上翻半屏

六、删除字符(编辑模式下)

			x:向后删除一个字符(可以和数字组合)
			dd:删除光标所在的行
			dw,de:删除光标所在的单词的后面那部分,db:删除光标所在的单词的前面那部分(w不删除单词后面的空格,e删除空格,b不删除空格)
			和数字组合如:d2下(方向键下)删除当前光标所在的行以及下面的两行
			在末行模式下:
							.d回车,表示删除光标所在的那一行
							$d回车,删除最后一行
							+nd,删除当前光标所在行,以及下面的n行
							n,md 删除第n行和第m行以及之间的行
		需要注意:以上方式删除字符类似windows下的剪切,另外也可以直接在输入模式下按删除键删除。

七、复制字符,使用 y 的组合,方法同删除字符 八、粘贴(编辑模式下)

			p:如果复制的某行的部分,那么粘贴在光标的行尾,否则粘贴在下一行
			P:如果复制的某行的部分,那么粘贴在光标的行首,否则粘贴在上一行

九、替换(编辑模式下) r:替换光标选中的单个字符 R:进入替换模式

十、撤销(编辑模式下)

			u:撤销前一次操作,可连续按u(可以和数字组合)
			ctrl+r:可以取消上一次的撤销操作

十一、可视化模式(在编辑模式下)

			v:一个字符一个字符的选取
			V:矩形方式选取
			(可以和y,d等组合,如选取之后按y,表示复制所选内容)

十二、查找(编辑模式) /string 或?string全文搜索string的字符,按n或N前后跳转到搜索到的内容 十三、查找并替换(末行模式下)

			如:n,ms/string1/string2/gi 将n行至m行的string1替换成string2,g表示全部替换如果不加,则只替换第一个匹配到的,i 忽略大小写;
			n,$s/string1/string2/gi 将n行至最后行的string1替换成string2,g表示全部替换如果不加,则只替换第一个匹配到的,i忽略大小写;
			%s/string1/string2/g 全文替换,g表示全部替换如果不加,则只替换第一个匹配到的

十四、退出文件(末行模式下)

			q 关闭文件不保存
			q! 强制关闭文件,不保存(如果文件改动了,不想保存)
			wq  或 x 保存并退出,wq!强制保存退出
			w ,w! 保存,强制保存不退出
			在编辑模式下:ZZ 保存并退出。

另外:

			在末行模式下,使用 read!command命令,可以执行command,并且把执行结果输出到光标的下一行,如在 “末行模式下” :read!cat /etc/inittab 可以把/etc/inittab中的文件内容输出到光标的下一行。