vi 和 wim
vim直接建立文件并进入编辑
vim test.txt
插入
小写 i a o
前 后 下一行首
大写 I A O
行首 行尾 上一行首
剪切(删除)、复制与粘贴
D 只剪切光标后面的行
d 剪切(删除)选中
dd 剪切(删除)光标所在的一行
y 键复制光标所在的一行
p 粘贴光标所在行的下一行
P 粘贴光标所在行的上一行
dw 剪切光标所在的单词
dh 剪切光标前面的字符
dl 剪切光标后面的字符
dj 剪切光标所在行和下一行
dk 剪切光标所在行和上一行
按d再按0 从当前光标开始剪切到行首
按数字再按yy 复制光标所在行往下n行,包括光标所在行
y+数字+h\j\k\l复制数字个字符,通过hjkl确定往哪个方向复制
按数字再按dd 删除/剪切n行
光标控制
h 左 l 右 j 下 k 上
翻页
M 当前屏幕的中间
L 当前屏幕的下边
H 当前屏幕的上边
Ctrl+f 向下翻一页
Ctrl+b 向上翻一页
Ctrl+u 向上翻半页
Ctrl+d 向下翻半页
快速定位光标位置
按20,然后按G 快速的定位到第20行
G 快速定位到末尾行
gg 快速定位到首行
w 向后跳一个单词的长度,到下一个单词的首字母
b 向前跳一个单词的长度,到上一个单词的首字母
0、home 光标快速定位到行首(Shift+6)
$、end 光标快速定位到行尾(Shift+4)
撤销
u 撤销刚刚操作
U 取消对当前行进行的所有操作
Ctrl+r 反撤销
删除字符
x 往右删除当前的一个光标
X 往左删除当前的一个光标
Backspace 删除光标左侧的字符
Delete 删除光标位置的字符
cw 删除当前光标到所在单词尾部的字符,并进入插入状态
c$ 删除当前光标到行尾的字符,并进入插入状态
c^ 删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行首的所有字符
dG 删除光标以下的所有内容
J 删除光标所在行行尾的换行符,相当于合并当前和下一行的内容
选中
v 按字符选中
V 按行选中
移动
>> 向右移动代码
<< 向左移动代码
重复操作
. 重复刚才的操作
替换(不用插入替换)
r 只能替换光标的一个字符
R 可以替换多个字符,按ESC键退出修改
:%s /abc/123/g 末行模式下,将当前文件的所有adc字符替换成123字符
:1,10 s /abc/123/g 末行模式下,将当前文件中1到10行的abc字符替换成123字符
:s /aaa/bbb/ 把光标所在行的第一个aaa替换成bbb
:s /aaa/bbb/g 把光标所在行的所有aaa替换成bbb
:%s /^/#/ 在所有的首行的行首插入#号
查找
/findname 匹配文件钟findname的字符串,从光标所在行往下开始匹配
?findname 光标所在行往上匹配
n 往下
N 往上
文件操作
shift+zz 相当于wq、x
w 保存不退出
w /root/test 将当前文件保存到/root/test目录下
q 不保存退出
q! 强制不保存退出
显示
:set nu 显示行数
:set nonu 关闭显示行数
vi编辑器有三种模式
1.命令模式:用于光标移动、复制/粘贴、删除/替换
2.输入模式:用于输入/修改内容
3.末行模式:用于查找/替换,保存/退出