Как установить рабочий/текущий каталог в Vim?

Поэтому, когда я хочу создать новый файл с помощью команды: e, я не хочу указывать весь путь, просто новое имя файла. Это можно сделать?

Ответ 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 сохранит каталог просмотра так же, как текущий каталог.