Поэтому, когда я хочу создать новый файл с помощью команды: e, я не хочу указывать весь путь, просто новое имя файла. Это можно сделать?
Как установить рабочий/текущий каталог в Vim?
Ответ 1
Как уже было предложено, вы можете использовать autochdir, который изменится на каталог файла, который вы открыли, другой вариант
:cd mydirectory
который изменит каталог. Это может быть абсолютный или относительный путь, поэтому :cd ..
будет двигаться на один уровень. Или вы можете использовать :cd %:h
, который также изменится на каталог, в котором находится текущий файл, но без установки autochdir.
:cd
изменит каталог на ваш домашний каталог (или на окна, распечатает текущий каталог).
:cd -
изменит каталог на предыдущий каталог, который вы посетили.
Ответ 2
Также, если вы просматриваете файловую систему с помощью netrw file explorer, вы можете установить текущий каталог, нажав клавишу c.
Ответ 3
Попробуйте добавить set autochdir
к вашему .vimrc
. Если вы хотите изменить его только один раз, используйте :cd
(или :cd!
, чтобы заставить его).
Ответ 4
Я не знаю, что не так с vim. Мне нужен каталог, в котором я запускаю vim как текущий.
Я следил за советом о autochd выше и устанавливал его в noautcd в моем .vimrc.
Я еще этого не делал, но сейчас я собираюсь начать с vim:
vim —cmd 'cd `pwd`'
Это заставит его придерживаться текущего каталога!
Ответ 5
Добавление этого в мой .vimrc
автоматически изменяет рабочий файл Vim на текущий файл:
autocmd BufEnter * silent! :lcd%:p:h
Ответ 6
С помощью netrw:
в дополнение к нажатию клавиши c для установки текущего каталога вы также можете поставить:
let g:netrw_keepdir= 0
в вашем .vimrc
; это означает, что netrw
сохранит каталог просмотра так же, как текущий каталог.