目录
一、vim操作(文件对比)
1. 使用vim的比较模式打开两个文件:
2. 如果已经打开了文件file1,再打开另一个文件file2进行比较: :vert diffsplit file2 如果没有用vert命令,diffsplit则会分上下两个窗口。
3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
vim高级操作011--比较两个文件并替换:
1、vim 比较两个文件
2、vim:比较合入快捷键dp
二、复制粘贴、剪切
1、选定文本块。
2、复制
3.剪切
4.粘贴
三、查找字符(在打开的窗口中)
1、片段匹配
1,从上往下查找,比如“string” : /string
2,从下往上查找,比如“string” : ?string
2、精确匹配
3、匹配多个关键字
1,查找既含A又含B的行:
2,查找含A或含B的行:
3,查找既含A又含B,AB顺序不要求的行:
一、vim操作(文件对比)
vim -d file1 file2 或 vimdiff file1 file2
分别在两个窗口里面输入命令:
:diffthis
4. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate
5. 定位到不同点:
[c 跳到前一个不同点
]c 跳到后一个不同点
6. 在窗口间跳转:
ctrl-w w 跳到下一个窗口
ctrl-w h 跳到左侧窗口
ctrl-w l 跳到右侧窗口
ctrl-w j 跳到下方的窗口
ctrl-w k 跳到上方的窗口
7. 合并文档:
dp 将差异点的当前文档内容应用到另一文档(diff put)
do 将差异点的另一文档的内容拷贝到当前文档(diff get)
8. 上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
:set diffopt=context:3
可以用简单的折叠命令来临时展开被折叠的相同的文本行:
zo (folding open, z这个字母看上去比较像折叠的纸)
然后可以用下列命令来重新折叠:
zc (folding close)
在linux系统终端terminal中输入命令:gvim -d file1.log file2.log
比较file1.log和file2.log两个文件内容的区别,不相同的部分会用颜色突出。
光标选择右侧红色部分,依次按字母dp,会将右侧不同的部分复制到左侧(即改变左侧),保证两个文件此端内容相同。
合入前:
合入后:按dp后
使用 v
进入可视模式,移动光标键选定内容。
复制的命令是y
,即yank
(提起) ,常用的命令如下:
剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法:
粘贴的命令式p,即put(放下)
注:
在正则表达式中,^表示匹配字符串的开始位置,$表示匹配字符串的结束位置。
命令前面加数字表示重复的次数,加字母表示使用的缓冲区名称。使用英文句号"."可以重复上一个命令。
在复制粘贴时,另一组常用的命令是u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做),这些功能主要是vim中的,vi中略有差别
参考自以下文章:
命令模式下(:)输入 /abc 即可,可参考这个文档
如果你输入 "/the",你也可能找到 "there"。要找到以 "the" 结尾的单词,可以用:
/the\> "\>" 是一个特殊的记号,表示只匹配单词末尾。类似地,"\<" 只匹配单词的开头。
这样,要匹配一个完整的单词 "the",只需:/\
/.*A.*B (向下查找)
?.*A.*B (向上查找)
/A\|B (向下查找)
?A\|B(向上查找)
/\v.*A.*B.*\|.*B.*A.* (向下查找)
?\v.*A.*B.*\|.*B.*A.* (向上查找)
/关键字1\|关键字2\|关键字3...
即开头使用斜杠/表示后面是要匹配的内容,
如果想同时使用多个匹配则使用\|将多个关键字隔开