你要让你的光标移动更有效率,你一定要了解下面的这些命令,千万别跳过。
G
→ 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137
到第137行)gg
→ 到第一行。(陈皓注:相当于1G,或 :1)G
→ 到最后一行。w
→ 到下一个单词的开头。e
→ 到下一个单词的结尾。> 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成(陈皓注:程序变量)
> 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。(陈皓注:程序语句)
下面,让我来说说最强的光标移动:
%
: 匹配括号移动,包括 (
, {
, [
.
(陈皓注:你需要把光标先移到括号上)*
和 #
:
匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)相信我,上面这三个命令对程序员来说是相当强大的。
你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:
例如 0y$
命令意味着:
0
→ 先到行头y
→ 从这里开始拷贝$
→ 拷贝到本行最后一个字符
你可可以输入 ye
,从当前位置拷贝到本单词的最后一个字符。
你也可以输入 y2/foo
来拷贝2个 “foo” 之间的字符串。
还有很多时间并不一定你就一定要按y才会拷贝,下面的命令也会被拷贝:
d
(删除 )v
(可视化的选择)gU
(变大写)gu
(变小写)(注:可视化选择是一个很有意思的命令,你可以先按v,然后移动光标,你就会看到文本被选择,然后,你可能d,也可y,也可以变大写等)
你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。
0
^
$
f
F
t
T
,
;
0
→ 到行头^
→ 到本行的第一个非blank字符$
→ 到行尾g_
→ 到本行最后一个不是blank字符的位置。fa
→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。t,
→
到逗号前的第一个字符。逗号可以变成其它字符。3fa
→ 在当前行查找第三个出现的a。F
和 T
→
和 f
和 t
一样,只不过是相反方向。
还有一个很有用的命令是 dt"
→ 删除所有的内容,直到遇到双引号—— "。
a
或 i
在visual 模式下,这些命令很强大,其命令格式为
a
和 i
d
(删除), y
(拷贝), v
(可以视模式选择)。w
一个单词, W
一个以空格为分隔的单词, s
一个句字, p
一个段落。也可以是一个特别的字符:"、
'、
)、
}、
]。
假设你有一个字符串 (map (+) ("foo"))
.而光标键在第一个 o
的位置。
vi"
→ 会选择 foo
.va"
→ 会选择 "foo"
.vi)
→ 会选择 "foo"
.va)
→ 会选择("foo")
.v2i)
→ 会选择 map (+) ("foo")
v2a)
→ 会选择 (map (+) ("foo"))
块操作,典型的操作: 0
^
→ 到行头
→ 开始块操作
→ 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)I-- [ESC]
→ I是插入,插入“--
”,按ESC键来为每一行生效。
在Windows下的vim,你需要使用
而不是
,
是拷贝剪贴板。
和
在 Insert 模式下,你可以输入一个词的开头,然后按
qa
操作序列 q
, @a
, @@
qa
把你的操作记录在寄存器 a。
@a
会replay被录制的宏。@@
是一个快捷键用来replay最新录制的宏。示例
在一个只有一行且这一行只有“1”的文本中,键入如下命令:
qa Yp q
→
qa
开始录制Yp
复制行. //Y复制行 p粘贴
增加1.q
停止录制.@a
→ 在1下面写下 2@@
→ 在2 正面写下3100@@
会创建新的100行,并把数据增加到 103.
v
,V
,
前面,我们看到了
的示例 (在Windows下应该是v
和 V
。一但被选好了,你可以做下面的事:
J
→ 把所有的行连接起来(变成一行)<
或 >
→
左右缩进=
→ 自动给缩进 (注:这个功能相当强大,我太喜欢了)
在所有被选择的行后加上点东西:
j
或
或是 /pattern
或是 %
等……)$
到行最后A
, 输入字符串,按 ESC。
(
I 是在行前加上点东西 A 是在行后
)
:split
和 vsplit
.
下面是主要的命令,你可以使用VIM的帮助 :help split
. 你可以参考以前的一篇文章VIM分屏。
:split
→ 创建分屏 (:vsplit
创建垂直分屏)
: dir就是方向,可以是 hjkl
或是
←↓↑→ 中的一个,其用来切换分屏。_
(或 |
) :
最大化尺寸 (+
(或 -
) :
增加尺寸
学习vim就像学弹钢琴一样,一旦学会,受益无穷。
——————————正文结束——————————
这是一个你不需要使用鼠标,不需使用小键盘,只需要使用大键盘就可以完成很多复杂功能文本编辑的编辑器。不然,Visual Studio也不就会有vim的插件了。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com