簡體   English   中英

重定向和vim

[英]redirection and vim

我想知道是否有一種方法可以直接在vim內部查看任何命令的輸出,而不是先將其重定向到文件中然后打開該文件。

例如我需要像$ gvim < diff -r dir1/ dir2/

這給出了模糊的重定向錯誤消息

我只是想直接在gvim中看到dir1和dir2之間的差異。

誰能提供一個不錯的技巧?

diff file1 file2 | vim -R -

-R使其為只讀,因此您不會意外修改輸入(這可能是您想要的行為,也可能不是您想要的行為)。 單破折號告訴vim在標准輸入上讀取其輸入。 同樣適用於其他命令。

另外,當已經在Vim中時:

:r! diff file1 file2

vim -d file1 file2

盡管在查看差異時我也建議使用vimdiffvim -d ,但我只需要共享這種在管道中使用vim用法的(更通用的)方法:vipe(來自Ubuntu中的moreutils包)。

例如:

查找-name'* .png'| vipe | xargs rm

將允許您先(在vim中)編輯找到的.png文件列表,然后再將其傳遞給xargs rm

jst使用gvimdiff代替
或vimdiff
將命令的輸出直接粘貼到vim中,例如ls,請嘗試
:%r!ls

順便說一句,有一個DirDiff插件

你可以用

diff -r dir1/ dir2/ | gvim -

vim(或gvim)的' - '選項告訴vim打開STDIN

我經常使用vimdiff -g <file1> <file2>

最簡單便捷的方法之一就是這樣做:

vimdiff -R <file1> <file2>

同樣,'-R'標志是將其打開為只讀模式,以避免任何意外更改。

您在尋找什么叫做流程替代

vim <(diff -r dir1/ dir2/)

但是Luc提到的DirDiff插件對於比較目錄更加有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM