f*n 发帖数: 254 | 1 如果不想保存文件,想直接比较两个文本内容,用vim来做,想开一个buffer,选中第
一个版本的文本,paste到该buffer上,再开一个新的buffer,选中第二个版本的文本
,paster到新buffer上,比较两个buffer的内容区别,请问该在vim里如何操作? |
d****n 发帖数: 1637 | 2 in vim
:badd file1.txt
:badd file2.txt
:vs
:b2
//split windows now, file2.txt in left window and file1.txt in right window
:diffthis
control+W
//type control +W twice , switch to right window now
:diffthis
OR just :
vimdiff file1.txt file2.txt
gg
【在 f*n 的大作中提到】 : 如果不想保存文件,想直接比较两个文本内容,用vim来做,想开一个buffer,选中第 : 一个版本的文本,paste到该buffer上,再开一个新的buffer,选中第二个版本的文本 : ,paster到新buffer上,比较两个buffer的内容区别,请问该在vim里如何操作?
|
f*n 发帖数: 254 | 3 谢谢,不过这是已经保存为两个文件的比较。
我想要的是,vim怎么比较两个没保存的文本?
window
【在 d****n 的大作中提到】 : in vim : :badd file1.txt : :badd file2.txt : :vs : :b2 : //split windows now, file2.txt in left window and file1.txt in right window : :diffthis : control+W : //type control +W twice , switch to right window now : :diffthis
|
d****n 发帖数: 1637 | 4 你保存不保存,vim都在硬盘上开个文件。
你就不能想像一下,先开vim,
:badd mytempfilebuffer1
:badd mytempfilebuffer2
这不是一样么? |
f*n 发帖数: 254 | 5 但vim自己开的文件不用我手工去删除吧?我自己开的文件vim不会自动删除。
或者说,想比较同一个文件的两个不同部分,怎么办?
【在 d****n 的大作中提到】 : 你保存不保存,vim都在硬盘上开个文件。 : 你就不能想像一下,先开vim, : :badd mytempfilebuffer1 : :badd mytempfilebuffer2 : 这不是一样么?
|
d****n 发帖数: 1637 | 6 how hard to delete by hand?
if you really seriously compare file and very special cases,
write code using any scripting language, perl, python is much easier.
and can format the output as whatever you want.
I am done with your questions. you should think more before asking questions
like this. |
f*n 发帖数: 254 | 7 没懂。问这个问题的本意是想知道vim可不可以做这件事,而不是说不知道做这件事的
其它办法 (notepad++就可以做)。也许vim不能直接比较两个未保存的文本,这不代表
问题本身有啥不对。
questions
【在 d****n 的大作中提到】 : how hard to delete by hand? : if you really seriously compare file and very special cases, : write code using any scripting language, perl, python is much easier. : and can format the output as whatever you want. : I am done with your questions. you should think more before asking questions : like this.
|
a**e 发帖数: 64 | 8 1. split windows with your two buffers
2. in both windows, type :set diff |
b*******s 发帖数: 5216 | 9 :sh 你就回到shell下面了
exit 你又回到vim了
【在 f*n 的大作中提到】 : 没懂。问这个问题的本意是想知道vim可不可以做这件事,而不是说不知道做这件事的 : 其它办法 (notepad++就可以做)。也许vim不能直接比较两个未保存的文本,这不代表 : 问题本身有啥不对。 : : questions
|
t****t 发帖数: 6806 | 10 dryden的回答除了load file的部分, 其它的都是对的. 简单的说, 把屏幕分成两片:
:vnew
两边分别贴上你要比较的文本, 在两边分别输入
:diffthis
就可以了. aaee说的:set diff也可以.
【在 f*n 的大作中提到】 : 没懂。问这个问题的本意是想知道vim可不可以做这件事,而不是说不知道做这件事的 : 其它办法 (notepad++就可以做)。也许vim不能直接比较两个未保存的文本,这不代表 : 问题本身有啥不对。 : : questions
|
f*n 发帖数: 254 | 11 谢谢,搞清楚了,原来我的问题在于vimrc配置文件里一个函数把所有no name的buffer
自动保存,所以打开两个不同内容的no name buffer会出问题。现在已经解决。
【在 t****t 的大作中提到】 : dryden的回答除了load file的部分, 其它的都是对的. 简单的说, 把屏幕分成两片: : :vnew : 两边分别贴上你要比较的文本, 在两边分别输入 : :diffthis : 就可以了. aaee说的:set diff也可以.
|
s****n 发帖数: 150 | 12 vimdiff file1.txt file2.txt
【在 f*n 的大作中提到】 : 如果不想保存文件,想直接比较两个文本内容,用vim来做,想开一个buffer,选中第 : 一个版本的文本,paste到该buffer上,再开一个新的buffer,选中第二个版本的文本 : ,paster到新buffer上,比较两个buffer的内容区别,请问该在vim里如何操作?
|