vim

1,我常用的快捷键:

'.      跳到最近改动过的位置

%     跳到匹配的括号

2,在括号处(例如{,},[,])按zf%,会把匹配括号之间的内容折叠。前提是:set fdm=marker,否则折叠范围不准,总是多折叠几行。

3, `` 命令可以在两个位置上跳来跳去。而 CTRL-O 命令则跳到一个 "较老" 的地方 (提示: O 表示 older)。CTRL-I 则跳到一个 "较新" 的地方

4,vim生成的文件,会在末尾自动添加一个换行符,也就是ascii=10的'\n'。

5,搜了很几次才找到中意的:http://hi.baidu.com/oscarbj/item/a7f56013cd3435613f87ce08

VIM替换文字 :%s/from/to

用:%s/from/to 命令只替换每行的第一个匹配字符,如果要替换每行的所有匹配项,需要在后面加上g命令。如: :%s/from/to/g

需要我们一个个的确认,那么我们可以加上c命令,意思就是confirm。

如: :%s/from/to/gc 输入这个命令之后,vim会把所有匹配的文字高亮,并会询问你 replace with to (y/n/a/q/l/^E/^Y) ,输入y表示替换当前这个,n表示这个不要替换,a表示全部替换,q表示退出,不替换了,l表示把当前这个替换后就退出,^E(ctrl+e,好像大小写 都可以)表示向下滚动一行,^Y表示向上滚动一行.

上次我们说了可以在s前面加上范围,比如:1,5s/from/to表示替换1到5行 的 from,在vim中有些字符可以很方便的表示一些特殊行,比如.表示当前行,$表示最后一行,第一行当然就是1了.所以我们可以用:.s/from /to命令替换当前行的from,用:.,$s/from/to替换从当前行到结束行的每行的第一个匹配的from.

from 和to可以使用正则表达式。如:

3,10s/^/Add to line Head/gc 将第3到10行前面插入字符串“Add to line Head" 并询问

%s/22$/BB/g 替换所有在行尾处出现的22为BB.

原文地址:https://www.cnblogs.com/weiweishuo/p/3073699.html