本文主要是介绍Vim学习笔记——奇技淫巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
11.1 替换一个word
1. 命令格式
:s/\<the\>/these/g :替换目标字符串前加一个\<,它就会匹配一个word的起始位置,\>可以用来
指示一个word的结束位置.
the these the these the these the these the
2. 替换多个文件中的目标
vim *.tst :指定要编辑的文件列表
qq :开始宏记录
:%s/\<the\>/these/g :在第一个文件中执行替换操作
:wnext :保存第一个文件并转到下一个文件进行编辑
q :停止宏记录
@q :执行宏操作
999@q :对其余的文本执行同样的操作.
:%s/\<the\>/these/ge :没找到一个匹配的目标也不会进行报错.
11.2 将Last,First改为First Last
:%s/\([^,]*\),\(.*\)/\2 \1/
\([^,]*\),\(.*\) :from 第一个部分位于\( \)之间,对应Last,\( \)匹配的是除逗号外的任何>字符[^,]*,任意重复*进行匹配,","匹配逗号,而第二个部分位于\( \)之间,对应first的内容,其中的内容是
.*,"."任意字符,*任意重复次数.
\2 \1 :to 这在Vim中被称为反向引用,它可以用来指代前面出现的\( \)的内容.\2指代第二个\( \)中匹配的内容,也就是First的内容,\1则指第一个\( \)中匹配的内容,即Last的内容.
11.3 排序
:22,32 !sort -r 对文件名进行排序.
note01.txt
note02.txt
note03.txt
note04.txt
note05.txt
note06.txt
note07.txt
note08.txt
note09.txt
note10.txt
note11.txt
11.4 反转行序
:35,46global/^/m 35
note01.txt
note02.txt
note03.txt
note04.txt
note05.txt
note06.txt
note07.txt
note08.txt
note09.txt
note10.txt
note11.txt
11.5 统计字数
:write !wc 统计字数
g CTRL-g 来统计一下目前已经写了多少字数
11.6 查找帮助页
K命令: Vim会对光标所在的词执行man程序.
cp strstr
加载Man插件: source /usr/share/vim/vim74/ftplugin/man.vim
\K命令: 对光标所在的词执行man程序,水平分隔窗口进行帮助显示.
11.7 消除多余空格
1. 多余空格行
:%global/^\s*$/d
2. 多余空格内容
:%substitue/\s\+$//
\s\+$
\s 匹配任何空白字符,包括空格,制表符,换页符等.
\+ 匹配前面的子表达式一次或多次
* 匹配前面的子表达式零次或多次
11.8 查找一个word在何处被引用
vim `grep -l TNT *.tst` :编辑那些包含了某个词的所有文件,切换的方法:n :N :last :first.
:grep TNT *.tst :查找每一行,打开匹配的第一个文件并将光标置于第一个包含这个词的文件.
:copen :cclose :cn :cN 同样可以实现不同文件之间的切换.
这篇关于Vim学习笔记——奇技淫巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!