帮助练习文档
学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,这里先讲一下如何使用 VIM 的帮助文档,在命令行输入下面命令,就可以跟着帮助文档一起学习了:
vimtutor
VIM 常用的有四个模式
- 正常模式 (Normal-mode)
- 插入模式 (Insert-mode)
- 命令模式 (Command-mode)
- 可视模式 (Visual-mode)
正常模式(Normal-mode)
正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,一些组合键就是 vim 的功能键,而不会在文本中键入对应的字符。
在这个模式下,可以通过键盘在文本中快速移动光标,光标范围从小到大是字符、单词、行、句子、段落和屏幕。启动 VIM 后默认位于正常模式。不论是什么模式,按一下 <Esc>
键 ( 有时可能需要按两下,插入模式按一下 Esc
,就会切换到正常模式,命令模式或者可视模式下执行完操作以后,就会自动进入正常模式,如果进入命令模式或者可视模式没有执行任何操作,按两下 Esc
即可 )都会进入正常模式。
下面的三个模式都是过键盘上相应的键位去触发的。
插入模式(Insert-mode)
在正常模式中按下个别字母键,会进入插入模式。该模式启动以后,就会进入编辑状态,通过键盘输入内容。如何从正常模式进入插入模式呢?
请记住下面几个常用启动录入文本的键盘字符 i,I,a,A,o,O,s,S
。
i
是在光标所在的字符之前插入需要录入的文本。
I
是在光标所在行的行首插入需要录入的文本。
a
是在光标所在的字符之后插入需要录入的文本。
A
是在光标所在行的行尾插入需要录入的文本。
o
是光标所在行的下一行行首插入需要录入的文本。
O
是光标所在行的上一行行首插入需要录入的文本。
s
删除光标所在处的字符然后插入需要录入的文本。
S
删除光标所在行,在当前行的行首开始插入需要录入的文本。还有一个可能经常用到的就是
cw
,删除从光标处开始到该单词结束的所有字符,然后插入需要录入的文本(这个命令是两个字符的合体 cw )。
命令模式(Command-mode)
在正常模式中,按下:
(冒号)键或者/
(斜杠),会进入命令模式。在命令模式中可以执行一些输入并执行一些 VIM 或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
可视模式(Visual-mode)
在正常模式按下v, V, <Ctrl>+v
,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
几个重要的快捷键
光标移动
请记住这几个快捷键
h,j,k,l
这几个按键主要是用来快速移动光标的,h
是向左移动光标,l
是向右移动光标,j
是向下移动光标,k
是向上移动光标,h , j , k ,l
在主键盘区完全可以取代键盘上的↑ ,↓ ,← , →
的功能。
在当前行上移动光标
0
移动到行头
^
移动到本行的第一个不是 blank 字符
$
移动到行尾
g_
移动到本行最后一个不是 blank 字符的位置
w
光标移动到下一个单词的开头
e
光标移动到下一个单词的结尾
fa
移动到本行下一个为 a 的字符处,fb 移动到下一个为 b 的字符处
nfa
移动到本行光标处开始的第 n 个 字符为 a 的地方(n 是 1,2,3,4 ... 数字)
Fa
同fa
一样,光标移动方向同fa
相反
nFa
同nfa
类似,光标移动方向同nfa
相反
ta
移动光标至 a 字符的前一个字符
nta
移动到第二个 a 字符的前一个字符处
Ta
同ta
移动光标方向相反
nTa
同nta
移动光标方向相反
;
和,
当使用 f, F, t ,T, 关键字指定字符跳转的时候,使用;
可以快速跳转到写一个指定的字符,,
是跳到前一个指定的字符
跨行移动光标
nG
光标定位到第 n 行的行首
gg
光标定位到第一行的行首
G
光标定位到最后一行的行首
H
光标定位到当前屏幕的第一行行首
M
光标移动到当前屏幕的中间
L
光标移动到当前屏幕的尾部
zt
把当前行移动到当前屏幕的最上方,也就是第一行
zz
把当前行移动到当前屏幕的中间
zb
把当前行移动到当前屏幕的尾部
%
匹配括号移动,包括 ( , { , [ 需要把光标先移动到括号上
*
和#
匹配光标当前所在的单词,移动光标到下一个(或者上一个)匹配的单词(*
是下一个,#
是上一个)
翻页操作
ctrl+f
查看下一页内容
ctrl+b
查看上一页内容
vim删除
d
是删除的意思,通常搭配一个字符 ( 删除范围 ) 实现删除功能,常用的如下:
dw
删除一个单词
dnw
删除 n 个单词,
dfa
删除光标处到下一个 a 的字符处( fa 定位光标到 a 处 )
dnfa
删除光标处到第 n 个 a 的字符处
dd
删除一整行
ndd
删除光标处开始的 n 行
d$
删除光标到本行的结尾
dH
删除屏幕显示的第一行文本到光标所在的行
dG
删除光标所在行到文本的结束
vim复制
y
是复制的意思,通常搭配一个字符(复制范围)实现复制的功能,常用的如下:
yw
复制一个单词,还有ynw
yfa
复制光标到下一个 a 的字符处,还有ynfa
yy
复制一行,还有nyy
y$
复制光标到本号的结尾
yH
复制屏幕显示的第一行文本到光标所在的行
yG
复制光标所在行到文本的结束
vim粘贴
p
,P
是黏贴的意思,当执行完复制或者黏贴的命令以后,VIM 会把文本寄存起来。
p
在光标后开始黏贴
P
大写的 P 光标前开始粘贴
撤销操作和恢复
u
撤销刚才的操作,U撤销光标所在行的修改。
ctrl + r
恢复撤销操作
删除字符操作和替换
x
删除光标当前所在的字符
r
替换掉光标当前所在的字符
R
替换掉从光标开始以后的所有字符,除非<ESC >
退出,或者jj
(代替 <ESC> 上文有提到)退出。
更多推荐
vim使用(一)--四个模式基本概念以及常用快捷键
发布评论