打开文件存在于另一个文件夹中,该文件夹使用垂直diffsplit与vim中当前打开的文件具有相同的相对路径?

时间:2015-11-16 16:23:51

标签: vim cd vimdiff

假设我在同一台Linux机器上的2个不同的工作区中有2个类似的文件。

/user1/ws1/ip/src/ip_main.c 
/user1/ws2/ip/src/ip_main.c 

现在我做了,

cd user1/ws1/ 
vim ip/src/ip_main.c 

然后我按ESC然后执行

:cd ../ws2

将我的密码显示为“user1/ws2” 现在我想在pwd中打开ip/src/ip_main.c,即“user1/ws2” 使用ESC

:vertical diffsplit "some logic to get to ws2/ip/src/ip_main.c" 
:cd ../ws2

之后

注意

:pwd命令显示"user1/ws2":echo $PWD命令仍显示"user1/ws1"

我怎么能这样做,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

通过 shell globbing 轻松完成两个文件的区分,例如在巴什:

$ vimdiff -O /user1/ws{1,2}/ip/src/ip_main.c

使用Vim,您必须使用相对路径(即前置../..,然后进入另一个层次结构)。命令行上的<C-R>%(cp。:help c_CTRL-R)插入当前路径;这可能会避免重新输入大部分类似路径,尤其是在与命令行窗口:help c_CTRL-F)一起使用时。

使用我的EditSimilar plugin,您可以使用此功能:

:DiffSplitSubstitute 1=2