命令模式
光标跳转
上下左右: 上下左右:kjhl
#command:跳转#个字符
单词跳转: w:下个单词的词首
e:当前单词的词尾
b:上个单词的词首
#command:跳转#个单词
行首行尾跳转: ^:行首(非空白字符)
0:行首
$:行尾
文本编辑
删除全文: %d 或者 0,$d
删除文本: d:删除,配合光标跳转
d^
d$
d0
dw
de
db
dd:删除光标所在行 #dd:删除多行
复制文本:y,和删除的使用方式一样
粘贴命令:p
撤销命令: u:撤销前一次
#u:撤销前N次
搜索命令: 搜索操作:
:/ | ?
n:查找下一个匹配
N:跳转上一个匹配
y 复制 yy 3yy ygg yG (以行为单位)
d 剪切 dd 3dd dgg dG (以行为单位)
p 粘贴
x 删除光标所在的字符
D 从光标处删除到行尾
u undo撤销
^r redo重做
r 可以用来修改一个字符
进入其他模式
a 进入插入模式,光标停在选中字母后
i 进入插入模式,光标停在选中字母的位置
o 进入插入模式,光标停在选中一行的下面新建行中
A 进入插入模式,光标停在行尾 : 进入末行模式(扩展命令模式)
V 进入可视行模式
^v 进入可视块模式
R 进入替换模式
可视块模式
块插入 选择块,I 在块前插入字符,ESC
块替换 选择块,r 输入替换的字符
块删除 选择块, d|x
块复制 选择块,y
拓展命令模式
保存退出
:10 进入第10行
:w 保存
:q 退出
:wq 保存并退出
:w! 强制保存
:wq! 强制保存退出
:x 保存并退出 ZZ
:X 加密文档
查找替换
:范围 s/old/new/选项
:1,5 s/root/aaron/ 从1-5行的root 替换为aaron 每行替换第一个
:5,$ s/root/aaron/ $表示最后一行
:1,$ s/root/aaron/g = :% s/root/aaron/g %表示全文 g表示全局
:% s#/dev/sda#/var/ccc#g
:,8 s/root/aaron/ 从当前行到第8行
:4,9 s/^#// 4-9行的开头#替换为空
:5,10 s/./#&/ 5-10前加入#字符(.整行,&引用查找的内容)
读写另存为
:w 存储到当前文件
:w /tmp/aaa.txt 另存为/tmp/aaa.txt
:1,3 w /tmp/2.txt 将1-3行保存到文件
:r /etc/hosts 读入文件到当前行后
:5 r /etc/hosts 读入文件到第5行后
设置环境
临时设置
行号
显示:set number,简写为set nu
取消显示:set nonumber,简写为set nonu
括号匹配
匹配:set showmatch,简写为set sm
取消:set nosm
自动缩进
启用:set ai
禁用:set noai
高亮搜索
启用:set hlsearch
禁用:set nohlsearch
语法高亮
启用:syntax on
禁用:syntax off
忽略字符的大小写
启用:set ic
不忽略:set noic
获取帮助 : help
永久环境
/etc/vimrc 影响所有系统用户
~/.vimrc 影响某一个用户
多文件编辑
[root@xwz ~]# vim -O ls.txt /etc/hosts ^ww切换
[root@xwz ~]# cp /etc/hosts hosts1
[root@xwz ~]# vimdiff /etc/hosts hosts1
设置环境
临时设置
行号显示:set number,简写为set nu取消显示:set nonumber,简写为set nonu括号匹配匹配:set showmatch,简写为set sm取消:set nosm自动缩进启用:set ai禁用:set noai高亮搜索启用:set hlsearch禁用:set nohlsearch语法高亮启用:syntax on禁用:syntax off忽略字符的大小写启用:set ic不忽略:set noic获取帮助: help
永久环境

