linux初学
将vim的功能键总结如下
一般模式:
h 或左箭头 光标向左移动一个字符j 或下箭头 下
k 或上箭头 上
l 或右箭头 右
30h 或30左箭头 向左移动30个字符
同理
ctrl+f 屏幕向下移动一页
ctrl+b 上一页
ctrl+d 下半页
ctrl+u 上半页
+ 光标移动到非空格符的下一行
- 上一行
number<space> 光标向右移动这一行的number个字符距离
0或[home] 移动到行首
$或[End] 行尾
H 光标移动到屏幕的最上方一行的行首
M 中央那一行的第一个字符处
L 屏幕最下方那一行的第一个字符处
G 移动到文件的最后一行
nG 移动到文件的第n行处
gg 移动到文件的第一行
N[ENTER] n为数字,光标向下移动n行
/word 向下寻找一个名称为word的字符串
?word 向上寻找一个名称为word的字符串
n 英文按键,代表重复前一个查找的操作
N 与上一个n相反,为反向进行前一个查找操作
:n1,n2s/word1/word2/g 在第n1与第n2行之间查找word1这个字符串,并将替换成word2.
:1,$s/word1/word2/g 从第一行到最后一行查找并像上面一样替换
:1,$s/word1/word2/gc 同样的替换,且向用户确认
删除/复制/粘贴
x,X 这里x为向后删除一个字符
nx 这里n为数字,向后删除n个字符
dd 删除光标整行
ndd 删除光标所在的向下n行
d1G 删除光标所在到第一行的所有数据
dG 删除从光标所在行到最后行的所有数据
d$ 删除从光标到所在行的最后一个字符
d0 删除从光标所在行的最前面一个字符
yy 复制光标所在行
nyy 复制光标所在行的向下n行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后行的所有数据
y0 复制光标所在那个字符到行首所有数据
y$ 复制光标所在的那个字符该行行尾的数据
p,P 将已复制的数据在光标所在的下一行粘贴
J 将光标所在行与下一行的数据结合成同一行
C 重复删除对个数据,例如向下删除10行,[10cj]
u 复原前一个操作
Ctrl+r 重做上一个操作
一般模式切换到编辑模式
i,I 进入插入模式i为从目前光标所在处插入,I为在目前所在行的第一哥非空格符处开始插入
a,A a为从目前光标所在的下一个字符开始插入,A 为从光标所在行的最后一个字符处开始插入
o,O o 为目前光标所在行的下一行处插入新的行O 为在光标上一行处插入
r,R 进入替换模式r只会替换光标所在的那一个字符一次,R会一直替换光标所在文字
一般模式切换到命令行模式
:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为只读模式,强制写入该文件
:q 离开vi
:q! 若曾修改过文件,又不想存储,使用!强制离开不保存文件
:wq 保存后离开
ZZ 若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开
:w[filename] 将编辑的文件保存为另一个文件
:r[filename] 在编辑的数据中,读入另一个文件的数据,添加到光标所在行的末尾
:n1,n2 w[filename] 将n1到n2的文件内容保存成filename这个文件
:!commend 暂时离开vi到命令行模式下执行commend的显示结果.
:set nu 显示行号
:set nonu 与上面的相反,取消行号