- 三种模式:
- 命令模式,可以移动光标,修改、删除、复制、搜索
- 插入模式,通过
aio
进入,可以修改文件内容- 扩展模式,通过
:
进入,退出、保存、查找替换。通过:10
可以直接移动光标到文件第10行
- 移动光标:
h,j,k,l
w
移动到下一个单词词首,b
移动到上一个单词词首(前面可以使用计数前缀,2w
: 下两个单词),
e
移动到下一个单词词末,ge
移动到上一个单词词末。
大写的命令表示按字串移动
(
上一个句子,)
下一个句子,{
上一个段落,}
下一个段落,对文本支持比较好$
把光标移动到当前行行尾,相当于键盘上的end
键,^
移动到当前行第一个非空字符,0
移动到当前行第一个字符,相当于键盘上的home
键
像大多数移动命令一样,$
命令接受计数前缀,1$
移动到当前行的行尾,而
2$
则移动到下一行的行尾,如此类推- 移动到一个指定的字符
单字符查找命令是最有用的移动命令之一。fx
命令向前查找本行中的字符x
。提示:
f
代表Find
(寻找)
举例:查找 h,查找 y
可以使用计数前缀
3fl
命令移动到foul
的l
以上4个命令f,F,t,T
可以通过;
命令重复,,
命令则用于反向重复。
无论用那个命令,光标不会移出当前行,哪怕这两行是连续的一个句子
放弃查找:比如你启动了一个f
命令后发现其实你本来想输入F
,输入 <Esc>。
所以f<Esc>
取消一个向前查找命令而不做任何操作。 备注 : <Esc> 可以中止大部分命令,而不仅仅是查找。
- 命令模式下修改、删除、复制等操作
change | delete | yank(copy) | |
---|---|---|---|
Line | cc | dd | yy |
Letter | cl | dl | yl |
Word | cw | dw | yw |
注意:cc,cl,cw
修改当前行,当前字符,当前单词会自动进入插入模式
对 Word
进行操作(cw,dw,yw
)是必须将光标定位在单词的第一个字母,因为操作的范围是从光标位置到单词的末尾
撤销操作
1)u,撤销最近一次的修改,undo
2)ctrl + r,取消最后一次的撤销,redo
3)U,撤销本行所有修改查找操作
1)/text,从光标处向后搜索
2)?text,从光标处向前搜索
3)n,搜索下一个同样的内容
4)N,搜索上一个同样的内容
不区分大小写:set ignorecase
,区分大小写:set noignorecase
粘贴操作
1)用 p 粘贴修改,删除,复制的数据
2)对于行,p 粘贴在当前行下面,P 粘贴再当前行上面
3)对于字符,p 粘贴在字符的右侧,P 粘贴在字符的左侧命令模式下的一些技巧
1)dtc,删除当前行从光标到 c 之间的所有字符(delete to 字符)
2)rc,将光标下的字符替换为 c(replace 字符)
3)dw,删除从光标到单词结尾见所有字符
4)5dd,删除5行数据
5)5yy,复制5行数据
6)5x,删除5个字符
7)R,进入替换状态,esc 退出(修改某个单词可以使用,也可以 dw 删除单词,再进行插入)
8)上下换行ddp
(删除当前行,粘贴到下一行)
9)b
上一个单词,w
下一个单词-
括号匹配 - 编程适用
写程序的时候经常遇到(),[],{}
,此时%
就是一个有效的命令,它能匹配一对括号
如果光标在(
上,它移动到对应的)
上,反之,如果它在)
上,它移动到(
上。
命令模式下通过以下命令
- 开启语法高亮
:syntax on
- 显示行号
:set number