学些这些比较简单的操作时,一定要自己动手实践才会有效果。
本文文章参考vim的简单使用教程
第三课 各种查找操作
比如我们想在文档中搜索一个简单的字符串like,可以用/命令::/like
找到第一个后继续查找::/(不能用 .命令)
如果用到正则表达式查找的话,可以用\来进行转义::.*[]ˆ%/\?~$
下面的命令可以将搜索到的结果高亮显示:
:set hlsearch
向后搜索是用/,向前搜索是用?,都支持正则表达式
第四课 基本复制粘贴操作
当用命令d或者x删除一段文字之后,被删除的文字被自动保存到了剪切版中,可以用p命令粘贴到光标所在的位置后面。
文本中加入标签:
有时,我们要删除一个大的文本块,直接用d命令很难描述这个文本块的开始和结束。这时可以用 m 命令(mark)在文本中做个标记。还是举个具体的例子。比如有如下的文本:
int main(void)
{
double x = 1e-2;
double y[5];
y[0] = gsl_log1p(x);
y[1] = log1p(x);
y[2] = log1p2(x);
y[3] = log1p3(x);
y[4] = log(1+x);
printf("gsl_log1p = %.15e\n", y[0]);
printf("log1p = %.15e\n", y[1]);
printf("log1p2 = %.15e\n", y[2]);
printf("log1p3 = %.15e\n", y[3]);
printf("log(1+x) = %.15e\n", y[4]);
return 0;
}
想要将几条printf 语句都删除掉。先将光标移动到第一个printf语句的第一个字符p处。执行命令 ma 。其中的 a 是给这个标签命的名字,命名的规则与 q 命令相同。然后将光标移动到 return 语句的 第一个字符 r。输入命令 d`a。可以看到几行 printf 语句都被删除了。
`a 表示做标记的位置
当我们在一篇文章中做了多个标记后,可能我们自己都记不清那些标记都放到了哪里。这时可以用下面的命令显示出所有的标记。
:marks
复制命令
Vim 中称复制操作为 yank。对应的命令是 y。
y 命令与d 命令相似,只是它不删除所选的区域。