Vim真的是一款十分强大又简洁的文本编辑器(个人比较喜欢精简但又强大的软件)。最近学习linux shell编程免不了要在linux下写脚本程序,因此挑选了Vim作为文本编辑器。以下是Vim的常见的操作。
1、如何快速移动光标
Vim不像Windows下的常见的文本编辑器可以使用鼠标快速的移动光标,因此移动光标主要依靠命令或按键操作。Vim有普通模式和插入模式,插入模式下用于编辑文本,所以应尽可能少的呆在插入模式下,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样。而在普通模式下则可以通过按键和命令操作快速移动光标。
h:左箭头功能。
j:下箭头功能。
k:上箭头功能。
l:右箭头功能。
通过一些命令也可以快速移动光标。
fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx:和上面的命令类似,但是是移动到 x 的左边一个位置。
Fx:和 fx 类似,不过是往回找。
w:光标往前移动一个词。
b:光标往后移动一个词。
0:移动光标到当前行首。
^:移动光标到当前行的第一个字母位置。
$:移动光标到行尾。
):移动光标到下一个句子。
( :移动光标到上一个句子。
若是需要在整个文件中快速移动光标,则以下命令比较有用。
<C-F>:向下移动一屏。
<C-B>:向上移动一屏。
G:到文件尾 。
num:移动光标到指定的行(num)。
gg:到文件首 。
H:移动光标到屏幕上面 。
M:移动光标到屏幕中间 。
L:移动光标到屏幕下面 。
*:读取光标处的字符串,并且移动光标到它再次出现的地方。
#:和上面的类似,但是是往反方向寻找。
/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n。
?text:和上面类似,但是是反方向。
ma:在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。
`a:到书签 a 处。注意这个不是单引号,它一般位于大部分键盘的 1 的左边。
`.:到你上次编辑文件的地方。
2、如何快速输入
Vim有一个非常好用的功能,叫关键词自动补全功能。它可以帮助你补全文件前文中出现过的关键词,例如有一个关键词为”abcdefghijklmn",在下文中可能还会用到,但不想一个字符一个字符地去输入(出错的可能性高),这是输入前几个字符,例如“abcd”,然后<C-N>或<C-P>,若没有匹配上则继续按,直到匹配为止。
Vim有多种插入方式。
i:在当前字符的左边插入 。
I:在当前行首插入 。
a:在当前字符的右边插入 。
A:在当前行尾插入 。
o:在当前行下面插入一个新行 。
O:在当前行上面插入一个新行 。
Vim有三种可视模式,可以高亮显示选中的文本。
v:按字符选择。
V:按行选择。
<C-V>:按块选择。只能是矩形。
在可视模式下进行剪切或复制。
d:剪贴选择的内容到剪贴板。
y:拷贝选择的内容到剪贴板。
c:剪贴选择的内容到剪贴板并且进入插入模式。
在非可视模式下也可进行剪切或复制。
dh:删除光标左边的字符。
dl :删除光标右边的字符。
dd:剪切当前行。
yy:拷贝当前行。
cc:剪切当前行并且进入插入模式。
D:剪切从光标位置到行尾到剪贴板。
C:和 D 类似,最后进入插入模式。
x:剪切当前字符到剪贴板。
s:和x类似,不过最后进入插入模式。
r:可以替换单个字符。
其他的命令。
p:粘贴剪贴板中的文本。
.:重复上一个命令。
另外, 在很多 VIM 的命令之前都可以使用一个数字,这个数字将会告诉Vim这个命令需要执行几次。
3、用Vim写代码。
]p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。
%:匹配花括号、方括号、括号等。在一个括号的上面,然后按 %,鼠标就会出现在匹配的另外一半括号处。
>>:缩进所有选择的代码 。
<<:和上面类似,但是反缩进 。
gd:到达光标所在处函数或者变量的定义处。
K:在 Man 里面查找光标当前所在处的词。
好了,以上是最近学习Vim的总结,以后如果有新的收获会不断更新。