1.vi和vim

vi:一种基本的文本编辑器,所有UNIX Like系统都会内置,很多的软件编辑接口会主动调用,是老式的文字处理器,不过功能已经很齐全了。
vim:可以视为vi的高级版本,具有程序编辑的能力,可以主动以字体颜色或底线等方式来显示一些特殊的信息,辨别语法的正确性,方便程序设计,vim的官方网站自己也说vim是一个“程序开发工具”而不是文字处理软件,因为vim里面加入了很多额外的功能,例如支持正则表达式的查找架构,多文件编辑,块复制等。

2.vi的使用

  • 一般模式
    可以使用上下左右来移动光标,可以删除整行,复制粘贴文件数据等,但是无法编辑文件内容。
  • 编辑模式
    在一般模式下按“i,I,o,O,A,a,r,R”等任何一个字母之后才会进入编辑模式。esc退出。
  • 命令行模式
    一般模式中输入“: / ?”3个中任何一个按钮,就可以将光标移动到最下面的那一行。在这个模式当中,可以提供查找数据的操作,而读取,保存,大量替换字符,离开vi,显示行号的操作就是在这个模式中完成的。

3.按键说明

第一部分:一般模式的按钮说明

h或←光标向左移动一个字符
j或者↓
k或者↑
l或者→
CTRL+f下一页
CTRL+b上一页
CTRL+d向下移动半页
CTRL+u向上移动半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
n20光标向后面移动20个字符距离
0或者End光标移动到这一行最前面
$或者Home光标移动到这一行最后面
H光标移动到当前屏幕的最上方那一行的第一个字符
M光标移动到当前屏幕的最中间那一行的第一个字符
L光标移动到当前屏幕的最下方那一行的第一个字符
G移动到这个文件的最后一行
nG移动到这个文件的第n行
gg移动到这个文件的第一行
N[enter]n为数字,光标向下移动n行
/word向下查找
?word向上查找
n英文n按键,重复上一个查找
N英文N按键,反向上一个查找
xX英文x按键,向后删除一个字符,X向前~
nx连续向后删除n个字符
dd删除光标所在的那一行
ndd删除光标所在的那一行向下n行
d1G删除光标所在的那一行到第1行的所有内容
dG删除光标所在到最后一行的所有数据
d$删除光标所在的那一处到该行最后一个字符
d0删除光标所在的那一处到该行第一个字符
yy复制光标所在的那一行
nyy复制光标所在的那一行向下n行
y1G复制光标所在的那一行到第一行的所有数据
YG复制光标所在的那一行到最后一行的所有数据
Y0复制标所在的那一处到该行行首的所有数据
Y$复制光标所在的那一处到该行行尾的所有数据
p,Pp为将已经复制的数据在光标的下一行粘贴,P为粘贴在上一行
j将光标所在行与下一行的数据结合成一行
c重复删除多个数据,例如向下删除10 行[10cj]
u复原前一个操作
CTRL+r重做下一个操作

第二部分:一般模式切换到编辑模式的可用按钮说明

i,I进入插入模式(insert mode)i为从目前光标处插入,I为在目前所在行的第一个非空格符处开始插入
a,A进入插入模式(insert mode)a为从目前光标所在处的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O进入插入模式(insert mode)o为从目前光标所在处的下一行开始插入新的一行,O为从光标所在行的上一行开始插入
r,R进入替换模式(Replace mode)r为只会替换光标所在那一个字符一次,R会一直替换光标所在的文字,直到按下esc键为止
esc退出编辑模式,回到一般模式当中

第三部分 :从一般模式切换到命令行模式

:w将编辑的数据写入硬盘文件中
:w!若文件属性为可读时,强制写入该文件,不过是不是真的可以写入,还是要看你对该文件的权限是如何
:q离开vi
:q!强制离开vi,若修改不保存
:wq保存后离开(wq!)
ZZ若文件没有更动,不保存离开,若已经更动,保存离开
:w[filename]将编辑的数据保存成一个另一个文件
:r[filename]在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件的内容加到光标所在行后面
:n1,n2 w[filename]将n1到n2的内容保存成filename这个文件
:!command暂时离开vi到命令行模式下执行command的显示结果。例如:“:! ls /home”即可在vi中查看/home下ls输出的文件信息
:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
set nonu取消行号

CTRL+z vim会到后台去执行

更多推荐

Vim程序编辑器