76

Если я открою файл с помощью vim dir/to/my/file.c как я могу легко открыть каталог dir/to/my в файловом браузере vim?

9 ответов9

97

Попробуйте :Ex[plore] . От :help Ex:

:Explore откроет браузер локального каталога в каталоге текущего файла (или в каталоге [dir], если указан). Окно будет разделено, только если файл был изменен, в противном случае окно просмотра займет это окно. Обычно расщепление происходит горизонтально.

70

Я лично предпочитаю:

:Sex

команда. Это делает разделенное окно для вас, и помещает вас в текущий каталог.

:Sex dir/to/my

тоже работает

11

Вы можете использовать:

:e %:h

Больше информации о расширениях здесь: http://vimdoc.sourceforge.net/htmldoc/eval.html#expand()

9

Как уже упоминалось, вы можете просто сделать «:Explore», и он откроет проводник для каталога текущего файла.

Однако, если вам нужно явно указать каталог, вы можете использовать ctrl+r в строке:-command, чтобы прочитать содержимое любого регистра в, а регистр% - это текущее имя файла, включая путь, если необходимо. Так что, просто сделайте:e ctrl+r %, затем нажмите клавишу Backspace над именем файла и нажмите Enter.

Есть и другие способы сделать это, но этот метод я обычно использую.

3

Для открытия проводника Windows с указанием каталога текущего файла:

:!start explorer /select,%:p

(Источник: http://vim.wikia.com/wiki/Open_Windows_Explorer_showing_directory_of_current_buffer )

1

Если вы редактируете с помощью команды pwd в unix, она откроет текущий каталог, в котором вы находитесь.

:e `pwd`

Это не будет работать так, как вы хотите, если вы сделали cd в VIM.

1

:e dir/to/my/

: э. открывает каталог, из которого вы изначально запустили vim.

Vim browser 'c' устанавливает рабочий каталог.

Я не уверен, есть ли способ автоматически перейти к каталогу файла, который вы редактируете.

0
:e `dirname %`

dirname раскрывается в каталог, в котором находится текущий файл.

0

если вы хотите получить оболочку, вам нужно :lcd %:p:h запустить :shell и затем восстановить рабочий каталог после выхода

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