文本编辑器vim
文本编辑器vim
(参考于千锋教育教学笔记)
命令模式
a. 光标定位
h 左 j 下 k 上 l 右
0 行首 $行尾
gg 移动到首行 G移动到尾行
nG 移动到第n行
/字符串 (n N可以循环 ) 快速定位到出现字符串的一行
/^d 以d开头的行
/txt$ 以txt结尾的行
ctrl+b 文本页面往前翻一页
ctrl+f 文本页面往后翻一页
b.文本编辑(少量)
y 复制 yy,复制一行; 3yy,复制3行; ygg,从当前行复制到第一行; yG,从当前行复制到最后一行
d 删除 dd 3dd dgg dG
p 粘贴在下面
P 粘贴在上面
x 删除光标所在的字符
D 从光标处删到行尾
u undo 撤销
ctrl+r redo 重做
r 可以用来修改一个字符
c,进入其他模式
a 进入插入模式 a在光标后面插入
i 进入插入模式
o 进入插入模式 o另起一行插入
A 进入插入模式 A在一行的行尾插入
: 进入末行模式(扩展命令模式)
v 进入可视模式
ctrl+v 进入可视块模式
V 进入可视行模式
R 进入替换模式
插入模式:
可视块模式;
块插入 (在指定块前加入字符): 选择块,I 在块前插入字符, ESC
块替换 选择块,r输入替换字符
块删除 选择块,d | x
块复制 选择块,y
扩展命令模式:
a. 保存退出
:10 进入第10行
:w 保存
:q 退出
:wq 保存并退出
:w! 强制保存
:q ! 不保存并退出
:wq! 强制保存退出
:x 保存并退出
b. 查找替换
:范围 s/ old /new /选项
:1,5 s/root/alice/ 从1-5行的root替换为 alice
: 5,$ s/root/alice/ $表示最后一行
:1,$ s/root/alice/g == :% s/root/alice/g %表示全文,g表示全局
:% s#/dev/sda#/etc/pass#g
:,8 s/root/alice/ 从当前行到第8行
:4,9 s/^#/ / 4-9行的开头#替换为空
:5,10 s/.*/#&/ 5-10行前加入#字符
c. 读入文件/写文件(另存为)
:w 储存到当前文件
:w /tmp/aaa.txt 另存为/tmp/aaa.txt
:1,3 w /tmp/123.txt
:r /etc/hosts 读取文件到当前行后
:5 r /etc/hosts 读取文件到第5行后
d. 设置环境
临时设置
:set nu 设置行号
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示控制字符
:set nonu 取消设置行号
:set noic 区分大小写
永久的环境 修改vim环境配置文件
/etc/vimrc 影响所有系统用户
~/.vimrc 影响某一个用户
# vim ~/.vimrc
set ic
set nu
[root@aminglinux ~]# vim -o 4.txt 5.txt ctrl+ww切换 //上下排列
[root@aminglinux ~]# vim -O 4.txt 5.txt ctrl+ww切换 //左右排列
[root@aminglinux ~]# vimdiff 4.txt 5.txt // 比较两个相似的文件