Я использую несколько ярлыков в моем файле .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текущий файл закрывается перед открытием нового.