赞
踩
vi分三种模式:一般模式,编辑模式,命令行模式。
h 方向左键
j 方向下键
k 方向上键
l 方向下键
ctrl+f 向前翻动一页
ctrl+b 前后翻动一页
0 行首/移动到此行的一个字符处
$ 行尾/移动到此行的最后一个字符
e 以词为单位往后跳
n+enter 光标下移n行
/word 在光标之后查找一个word的字符串
?word 在光标之前查找一个word的字符串
n 继续向下查找
N 继续向上查找
:s/str1/str2/ 替换当前行第一个 str1 为 str2
:s/str1/str2/g 替换当前行中所有 str1 为 str2
:m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
:m,ns/str1/str2/g 替换第 n 行开始到最后一行中所有的 str1 为 str2
:1,$s/mpks/mpkss/g 将第一行到最后一行的mpks都替换成mpkss
:1,$s/word1/word2/gc 从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认
其他:
:%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个 str1 为 str2
:%s/str1/str2/g(等同于 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替换文中所有 str1 为 str2
x,X x向后删除一个字符 X向前删除一个字符
nx 向后删除n个字符
d 删除命令,根据光标删除“如d0, d$, dw
dd 删除光标所在的整行
ndd 删除光标所在列的向下n列
yy 复制光标所在行(删除指令d的用法类似)
nyy 复制光标所在行的向下n行
p, P p复制的数据粘贴在光标下一行,P上一行
u 恢复上一个动作,可以撤销多次
U 撤销对一行所做的改变
:e! 恢复文件至最初打开的状态
i ,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
a,A 添加 :由当前光标所在处的下一个字符开始输入,已存在的字符向后退
o ,O 插入新的一行,从光标所在处的下一行行首开始输入
r,R 替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下esc
esc 返回一般模式
:w 保存
:w! 若文件为只读,强制写入
:q 推出vi
:wq 保存推出
:w [filename] 保存为另一文件
注: 我一般用于选择列批量注释取消注释
ctrl v : 选中块
操作
E:当前坐标位置,选中多行
I:编辑模式
ESC返回修改结果
两种方式打开新页面
vnew new_file.txt 当前vim终端水平方向同时打开另一个new_file.txt文件
:e new_file.txt 当前vim页面切换为新文件位置
通过:e打开的文件需要显示多个多个文件可以使用以下命令
:sp # 水平切分窗口
:vsplit # 垂直切分窗口
以上打开多个文件后可以使用以下命令切换
Ctrl+6 # 当前窗口文件间的切换
Ctrl+w # 窗口切换
Ctrl+w+方向键 # 文件窗口切换:前/下/上/后一个窗格
vimdiff file1.txt file2.txt # 比对两个文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。