Ярлык для открытия файла в Vim - PullRequest
119 голосов
/ 21 февраля 2009

Я хочу открыть файл в Vim, как в Eclipse, используя Ctrl + Shift + R или через Ctrl + N опция автозаполнения. Вызовите сочетание клавиш, введите имя файла / шаблон и выберите из всех подходящих имен файлов.

Я знаю, открывая его обычно, как:

:tabe <filepath>
:new <filepath>
:edit <filepath>

Проблема в том, что в этих случаях мне нужно указать полный путь к файлу.

Ответы [ 19 ]

139 голосов
/ 22 февраля 2009

Что я обычно делаю, это e . (e-space-dot), которое дает мне доступный для просмотра текущий каталог - тогда я могу / - искать фрагменты имени, точно так же как поиск слова в текстовом файле. Я нахожу это в целом достаточно хорошим, простым и быстрым.

57 голосов
/ 21 февраля 2009

Я недавно влюбился в fuzzyfinder.vim ...: -)

: FuzzyFinderFile позволит вам открывать файлы, вводя частичные имена или шаблоны.

33 голосов
/ 04 августа 2010

:find - это еще один вариант.

Я открываю vim из корня моего проекта, и там path установлен.

Затем я могу открыть файлы, расположенные в любом месте дерева, используя:

:find **/filena< tab >

Вкладка будет автоматически заполнять различные совпадения. (** говорит ему рекурсивно искать по пути).

25 голосов
/ 21 февраля 2009

Вы можете искать файл по текущему пути, используя **:

:tabe **/header.h

Нажмите вкладку, чтобы увидеть различные завершения, если есть более одного совпадения.

15 голосов
/ 28 апреля 2012

Рассмотрите возможность использования плагина CtrlP .

Включено в Янус Дистрибутив .

Позволяет найти файлы в текущем каталоге, открытых буферах или последних использованных файлах, используя «нечеткое соответствие» или регулярное выражение.

12 голосов
/ 21 февраля 2009

если я что-то упустил,: e имя файла - самый быстрый способ, который я нашел

Вы также можете использовать табуляцию для автозаполнения имени файла.

10 голосов
/ 21 февраля 2009

Мне нравится: FuzzyFinderTextMate (или Ctrl + F ) в моей настройке. Смотри http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim

9 голосов
/ 21 февраля 2009

Я использую несколько ярлыков в моем файле .vimrc (точный синтаксис ниже).

Они основаны на том факте, что в 90% случаев я хочу открыть другой файл в том же каталоге, что и файл, который я сейчас редактирую, или в каталоге, который очень близок по иерархии к редактируемому. файл.

Вот что делают команды:

,cd: изменить текущий рабочий каталог на каталог, в котором находится текущий файл, который вы редактируете.

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

Поместите их в свой .vimrc:

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

map ,cd :cd %:p:h <CR>

Вот последовательность событий:


  1. Вы редактируете файл с именем test.java в "/ home / prog"
  2. ,cd -> Текущий рабочий каталог сейчас становится "/ home / prog"
  3. ,e -> Расширяется до ": e / home / prog", поэтому что вы можете просто заполнить файл имя, скажем test.h.

  1. ,e -> Расширяется до ": e / home"
  2. tab -> Переход по подкаталогам / home
  3. enter -> cd в каталог, который вы хочу сказать / home / prog
  4. ,e -> Расширяется до ": e / home / prog"
8 голосов
/ 09 августа 2010

Есть также команда-t, которую я считаю лучшей из всех (и я перепробовал их все). Его легко установить, но как только он будет установлен, это мечта.

https://wincent.com/products/command-t/

6 голосов
/ 21 февраля 2009

Используйте вкладки, они работают при вводе путей к файлам в режиме выхода vim!

...