单词间跳转:
w:下一个单词词首
e:当前或下一单词的词尾
b:当前或前一个单词词首
替换命令(r,replace):
r:替换光标所在处的字符
改变命令:(c,change)
c:修改
编辑模式————>输入模式
c$
c^
c0
cb
ce
cw
cc 删除并输入新内容
可视化模式:
v:按字符选定
V:按行行定
撤销:
u
撤销此前
Ctrl + r
重复前一个编辑操作
.
翻屏操作:
Ctrl+f:向文件尾翻一屏
Ctrl+h:首翻一屏
ctrl+d:向文件尾半屏
ctrl+u:向文件首部翻半屏
末行模式
vim中的末行模式:
内建的命令接口:
(1)地址定界
:start:end
#:具体第#行,例如2表示第二行
#,#从左侧#表示行起始,到右侧#行尾
#,+#从左侧#表示行起始,加上右侧#表示的行数
.:当前行
$:最后一行
.,$-1
%:全文
使用方式:
后跟一个编辑命令
d
y
w /PATH/TO/SOMEWHERE
r /PATH/TO/SOMEfile : 在指定位置插入指定文件中的内容
如:
:1,23w /tmp/123.txt 表示1到23行保存到文件中
(2)查找:
/PATTERN: 从当前光标所在处向文件尾部查找。
?PATTERN: 从当前光标所在位置向文件首部查找。
n与命令通方向。
N:与命令方向翻方向
(3)查找并替换
s:在魔航模式下完成查找替换操作
s/查找内容/替换为内容/修饰符
要查找的内容:可使用模式
要替换为的内容:不能使用模式,但可以使用\1,\2。。。向后向引用符号:还可以使用“&”
引用前面查找时查找的所有内容。
修饰符:
i:忽略大小写
g:全局替换:默认情况下,每行只替换第一次出现;
查找替换中的分隔符/可替换为其他字符,例如s@@@ s###
vim的多文件模式:
vim file1 file2 file3 ......
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
vim窗口分隔模式
vim -o| O file1 file2...
-o:水平分割
-O:垂直分隔
在窗口间切换: Ctrl+W,Arrow
单文件窗口分隔:
Ctrl+w,s:split 水平分割
Ctrl+w,v:vertical 垂直分割
定制vim的工作特性:
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
如:
在文件添加set nu ,结果为当前root用户打开vi就会有行号
末行:当前vim进程有效
(1) 行号
显示:set nu number
隐藏: set nonumber,set nonu
(2) 括号匹配
匹配:set showmatch,简写为 set sm
取消:set nosm
(3) 自动缩进
启用: set ai
禁用: set noai
(4) 高亮搜索结果
启用: set hlearch
禁用: set nohlearch
(5) 语法高亮
启用:syntax on
禁用:syntax off
(6) 忽略字符的大小写
启用: set ic
不忽略:set noic
获取帮助:
末行模式下 :help 命令