Vim 简易教程(2)

来源:互联网 发布:逆袭网络剧 无删减 编辑:程序博客网 时间:2024/04/29 12:28

第二课 更快速的编辑

这一回将介绍些上一次没有讲到的基本的操作命令。

快速的移动光标

将光标移动到下一个单词的开始:

将光标移动到上一个单词的开始:b

类似的,2w 表示向后移动两个单词。

移动到一行的结尾:$

移动到一行的开始:<Home>

移动到一行的第一个非空白字符:^

(熟悉正则表达式的朋友肯定对 $^不会陌生。)

向下移动2行自然就是:2$

一行中查找一个字符

从当前位置向后查找第一次出现x的位置,并将光标移过去:fx

从当前位置向前查找第一次出现x的位置,并将光标移过去:Fx

如果没有找到x,不移动光标

类似的还有一对命令tT。与fF类似,不过它会停在查找到的字符之前一个字符。

移动光标到指定的行

移动到指定的行nnG

比如移动到第3行:3G

移动到最后一行:G

显示行号

显示行号::set number

隐藏行号::set nonumber

给出当前光标所在的行、列信息:CTRL-G

翻页

向上滚动半屏文字:CTRL-U

向下滚动半屏文字:CTRL-D

删除文字

前面已经介绍过删除一行:dd

从当前位置删除到当前单词结束,并将后面的空格也删除掉:dw

W命令是将光标移动到下一个单词的开始位置,dw 是将光标移动的过程中路过的那些字符都删掉,当然最后光标移动到的那个位置上的字符不删除。

类似,删除3个单词:3dw 或 d3w

实际上,d命令后面可以跟着任意的光标移动命令,比如 dfi 表示从当前位置一直删到第一次出现i为止。当然,如果当前行没有找到i则上面的命令就什么都不做,因为这时光标没有移动。

重复上一次的命令

重复上一次执行的命令:. (一个句号)

比如上次执行的是 dd,那么. (一个句号就等效于 dd

将两行合并

将当前行与下一行合并为一行:J

替换当前字符

将当前字符替换为xrx  replace

改变大小写

改变当前字符的大小写:~

改变完大小写后将光标向后移动一位。但是是在行内移动,不会到下一行。

录制一段键盘宏操作

我们可以将一系列操作录制成一个宏: 命令

宏的名字是一个小写字母。下面还是举个例子:

假设我们的文件中有如下几行。

stdio.h

fcntl.h

unistd.h

stdlib.h

我们希望将其编辑为:

#include “stdio.h”

#include ”fcntl.h”

#include ”unistd.h”

#include ”stdlib.h”

首先将光标移动到第一行的开始。

然是输入如下的命令:

qa

i#include “

a”

j

q

这样就录好了一段宏,宏名为a

之后执行3次这个宏:3@a