学习Vim 2 移动命令
Contents
进入插入模式, 输入文本
进入vim以后,处于普通模式,敲i键就启动插入模式,可以输入文字,
输入一些文字后, 输入ESC, 回到普通模式
删除字符
假设我们的文本内容是
|
|
在普通模式下,移动光标到文章开头A上,输入x可以删除一个字符 连续输入x6次,就是xxxxxx, 将删除文章开头的A very, 看起来这样
|
|
进入普通模式, 将光标移动某处字符后,输入a,可以在当前字符后输入新字符。
移动光标
在普通模式下(无论你在什么模式下,要回到普通模式, 敲ESC键就可以. 有时需要敲2下,如果vim发出’嘀’的一声,就表示您在普通模式了)
基本移动
- h 向左
- j 向下
- k 向上
- l 向右
这几个键位于右手本位,可以以最快速度执行移动操作,特别是比箭头键快:) (需要禁用箭头键么?强迫自己使用hjkl, 不建议那样做, 慢慢熟悉, 一点点的进步积累起来的成就感才长久, 尽量使用hjkl好了先)
在单词间移动
在普通模式下, 游移在单词间的快捷键
w 移动到下一个词首, 标点符号被认为是单词词首
b 移动到前一个词首
e 移动到下一个词末
ge 移动到前一个词末
B 移动到前一个词首 忽略标点符号?
W 移动到下一个词首, 忽略标点符号?
E 移动到下一个词末 忽略标点符号?
|
|
大写的命令忽略单词间的标点符号, 只要不是空的字符,就认为还是一个单词
比如 上面的"line", “with/example/words!”,
使用大写移动命令W E B时, 被分别认为是单词
而使用小写移动命令 w e b时,被认为时好几个词 比如 “line”, 前后两个引号"“和中间line都是一个单词
|
|
我们在编程等需要跳转到{ } < > = ;等标点符号时, 可以使用小写的w e b跳转到标点符号。
在文本处理时不需要处理标点符号时,可以使用W E B跳转到 单词的词首或词尾
句子、行内、段落移动
0 移动到行首
^ 移动到行首(不包含空白符号)
$ 移动到行尾(包含空白)
g_ 移动到行尾(不包含空白)
fx 向前到本行中字符x
Fx 向后到本行字符x
|
|
- tx 向前到本行中字符x前一个字符
- Tx 向后到本行字符x后一个字符
页面、文档快速移动
快速移动的快捷键
Ctrl-d 向下半页
Ctrl-u 向上半页
Ctrl-f 向下一页
Ctrl-b 向上一页
zt 移动屏幕后当前行位于视窗的头部
zb 移动屏幕后当前行位于视窗的尾部
zz 移动屏幕后当前行位于视窗的中间
H 移动cursor到视图头部
M 移动cursor到视图中间
L 移动cursor到视图底部
gg 文件开头
4gg 文件开头第4行
G 文件末尾
4G 文件开头第4行:)
% 跳转到匹配的(),[],{}
50% 跳转到文件行数的50%行
:NUM 跳转到第NUM行
( 移动到前一个句子
) 移动到下一个句子
{ 移动到段落开始
} 移动到段落结尾
[( 跳转到向前一个存在的括号
]) 跳转到向后一个存在的括号
[{ 跳转到向前一个存在的大括号
]} 跳转到向后一个存在的大括号
数字和命令混合
|
|
有点晕啊,
普通学习者的要点大概是循序渐进 日积月累:)
在插入模式中快速移动
- Shift-Right -> 向右移动, 逐词
- Shift+Right <- 向左移动, 逐词
TODO