3

Если я работаю с файлом, расположенным, например, в ~\myprojects\testproject\hello.txt а затем хочу открыть новый файл в том же каталоге, например todo.txt (находится в ~\myprojects\testproject\todo.txt), Как я могу сделать это эффективно с Gvim на Windows?

Сегодня я должен набрать эту команду, возможно, используя tab-завершение для путей:

:e ~\myprojects\testproject\todo.txt

Есть ли более короткая команда, например:

:e .\todo.txt

в гвим на винде?

Если я использую .\todo.txt , этот файл будет находиться в C:\Windows\system32 , это даже не мой домашний каталог. Есть ли какие-либо настройки, чтобы указать мой домашний каталог по умолчанию вместо этого? или какая-то другая диалектика?

3 ответа3

6

Следующее должно работать, если ваш текущий каталог находится там, где находится файл:

:e todo.txt

На второй вопрос я не знаю хорошего ответа. Вы можете, конечно, сделать

:cd ~

каждый раз, когда вы запускаете, или вы можете отредактировать ваш vimrc, чтобы сделать это. Это взломать и не очень хорошее решение.

Также есть 'autochdir', если вы хотите каждый раз переходить к файлу. Я нашел это здесь: http://vim.wikia.com/wiki/Set_working_directory_to_the_current_file

В вашем vimrc вы должны указать следующую строку:

set autochdir

Edit2: добавить ответ на второй вопрос

3

У меня есть следующее в моем Vimrc:

map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>

Это открывает командную строку, вводит команду 'e' и предварительно заполняет аргумент файла путем к пути к файлу в текущем активном буфере. Ключ сопоставлен с ключом обратной косой черты по умолчанию.

0

Для полноты, если вы в данный момент редактируете файл в этом каталоге, достаточно set autochdir в vim.rc.

Однако, если вы находитесь в проводнике файлов vim (netrw)

:e .
%filename

вам нужно будет предшествовать созданию нового файла с % .

Для получения дополнительной информации:: :help netrw-intro-browse .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .