2015-11-16 9 views
0

Скажем, у меня есть 2 похожих файла в 2 разных рабочих пространствах на той же машине linux.Открытие файла присутствует в другой папке, которая имеет такой же относительный путь, что и текущий открытый файл в vim, используя вертикальный diffsplit?

/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 

, который показывает мой PWD как "user1/ws2" Теперь я хочу, чтобы открыть ip/src/ip_main.c в PWD т.е. " 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"

Как я могу это сделать, может кто-нибудь помочь?

+0

ваш первый 'кд user1' будет' кд user1/ws1' правильно? иначе позже ': cd ../ ws2' не будет работать. – Kent

+0

@Kent Спасибо, что исправили меня. – ypp

ответ

0

Разделить оба файла легко, используя скорлупу оболочки, например. в Bash:

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

жгутов Vim, вы должны использовать относительные пути (т.е. перед именем ../.., затем спуститесь в другой иерархии). <C-R>% в командной строке (c. :help c_CTRL-R) вставляет текущий путь; это может избежать повторного набора большей части аналогичного пути, особенно при использовании с окном командной строки (:help c_CTRL-F).

С моим EditSimilar plugin, вы можете использовать это:

:DiffSplitSubstitute 1=2