Я использую несколько ярлыков в моем файле .vimrc (точный синтаксис ниже).
Они основаны на том факте, что в 90% случаев я хочу открыть другой файл в том же каталоге, что и файл, который я сейчас редактирую, или в каталоге, который очень близок по иерархии к этому редактируемому файлу.
Вот что делают команды:
,cd
: Изменить текущий рабочий каталог на каталог, в котором находится текущий файл, который вы редактируете.
,e
: Открывает файл с уже заполненным текущим рабочим каталогом, поэтому вам нужно указать только имя файла.
Поместите их в свой .vimrc:
map ,e :e <C-R>=expand("%:p:h") . "/" <CR>
map ,cd :cd %:p:h <CR>
Вот последовательность событий:
- Вы редактируете файл test.java в "/ home / prog"
,cd
-> Текущий рабочий каталог теперь становится "/ home / prog"
,e
-> Расширяется до ": e / home / prog", так что вы можете просто ввести имя файла, скажем test.h.
,e
-> Заменяется на ": e / home"
tab
-> Перебирать подкаталоги / home
enter
-> cd
в каталог, который вы хотите сказать / home / prog
,e
-> Расширяется до ": e / home / prog"
:tabe
файл открывается в новой вкладке,:new
окно разделяется по горизонтали, а:edit
текущий файл закрывается перед открытием нового.