Я хочу открыть файл в Vim, как в Eclipse, с помощью Ctrl+ Shift+ Rили с помощью Ctrl+N опции автозаполнения. Вызовите сочетание клавиш, введите имя / шаблон файла и выберите из всех совпадающих имен файлов.
Я знаю, как обычно открывать его:
:tabe <filepath>
:new <filepath>
:edit <filepath>
Проблема здесь в том, что в этих случаях я должен указывать полный путь к файлу.
vim
keyboard-shortcuts
Techmaddy
источник
источник
:tabe
файл открывается в новой вкладке,:new
окно разделяется по горизонтали, а:edit
текущий файл закрывается перед открытием нового.Ответы:
Недавно я влюбился в fuzzyfinder.vim ... :-)
: FuzzyFinderFile позволит вам открывать файлы, вводя частичные имена или шаблоны.
источник
Обычно я делаю
e .
(e-space-dot), который дает мне доступный для просмотра текущий каталог - тогда я могу/
- искать фрагменты имени, точно так же, как поиск слова в текстовом файле. Я считаю, что в целом это достаточно хорошо, просто и быстро.источник
:e.
).:e.
и:E
: если текущий файл был отредактирован и еще не сохранен, первый будет жаловаться (например:edit
) из-за «нет записи с момента последнего изменения», а последний разделит окно по горизонтали (например,:new
), чтобы разрешить открытие нового файла (в то время как оба заменят текущий файл новым файлом, если он не был изменен (например:edit
)).:find
это еще один вариант.Я открываю vim из корня моего проекта и
path
устанавливаю его там.Затем я могу открывать файлы, расположенные в любом месте дерева, используя:
Вкладка будет автоматически заполняться при различных совпадениях. (
**
указывает ему рекурсивный поиск по пути).источник
:find
получить путь относительно рабочего каталога. См. Вопрос и ответ @romainl здесь: stackoverflow.com/questions/28224168/… . Я нахожу более интересный ответ @strager, чтобы упростить путь относительно рабочего каталога.Вы можете искать файл по текущему пути, используя
**
:Нажмите вкладку, чтобы увидеть различные варианты завершения, если совпадений больше одного.
источник
:tabe **/*der.h
если вы не помните полное имя файла.Рассмотрите возможность использования подключаемого модуля CtrlP .
Он включен в дистрибутив Janus .
Позволяет находить файлы в текущем каталоге, открытых буферах или недавно использованных файлах с помощью «нечеткого соответствия» или регулярного выражения.
источник
если я чего-то не упускаю,: e filename - самый быстрый способ, который я нашел.
Вы также можете использовать вкладку для автозаполнения имени файла.
источник
Мне нравится: FuzzyFinderTextMate (или Ctrl+ F) в моей настройке. См. Http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim
источник
Я использую несколько ярлыков в моем файле .vimrc (точный синтаксис ниже).
Они основаны на том факте, что в 90% случаев я хочу открыть другой файл в том же каталоге, что и файл, который я сейчас редактирую, или в каталоге, который очень близок по иерархии к этому редактируемому файлу.
Вот что делают команды:
,cd
: Изменить текущий рабочий каталог на каталог, в котором находится текущий файл, который вы редактируете.,e
: Открывает файл с уже заполненным текущим рабочим каталогом, поэтому вам нужно указать только имя файла.Поместите их в свой .vimrc:
Вот последовательность событий:
,cd
-> Текущий рабочий каталог теперь становится "/ home / prog",e
-> Расширяется до ": e / home / prog", так что вы можете просто ввести имя файла, скажем test.h.,e
-> Заменяется на ": e / home"tab
-> Перебирать подкаталоги / homeenter
->cd
в каталог, который вы хотите сказать / home / prog,e
-> Расширяется до ": e / home / prog"источник
Также есть command-t, которую я считаю лучшей из всех (и я перепробовал их все). Установить его несложно, но после того, как он установлен, им можно только мечтать.
https://wincent.com/products/command-t/
источник
Используйте вкладки, они работают при вводе путей к файлам в escape-режиме vim!
источник
Если у вас есть теги (а должны), вы можете открыть файл из командной строки, просто указав имя класса, метода или функции c, с помощью «vim -t DBPlaylist», а внутри vim с помощью «: tag ShowList ».
источник
Если вы редактируете файлы в общем каталоге, вы можете
:cd
перейти в этот каталог, а затем использовать:e
только имя файла.Например, а не:
Ты можешь сделать:
Или, если у вас уже есть файл в нужном каталоге, вы можете использовать
%
сокращение для текущего имени файла и обрезать его до текущего каталога с помощью:h
модификатора (:help :_%:
):И, как говорили другие, вы можете заполнить имена файлов табуляцией в строке ex-line (см.
:help cmdline-completion
Подробнее).источник
Это не совсем так то, что вы ищете, но во многих случаях (хотя и не во всех) это хорошо.
Если вы открываете VIM и в буфере есть имя файла, вы можете поместить курсор на это имя файла и ввести его gf. Это открывает файл, имя которого находится под курсором в том же буфере. Это то же самое, что и
:e CTRL+r CTRL+w
источник
:b oldname
Я знаю три плагина, которые позволяют открывать файлы, поддерживают автозаполнение и не требуют вводить полный путь к открываемым файлам (если файлы находятся в одном из каталогов из
&path
опции vim) ::e
/:find
, а по разделенным действиям)Недавно я видел другой плагин с похожей функцией, но не помню названия.
Вскоре: find, вероятно, будет поддерживать автозаполнение - в наши дни в списке рассылки vim_dev циркулируют исправления по этой теме.
источник
p*.dat
или что-то в этом роде (как в старых 'dos)вы также можете: просмотреть подтвердить e (для графического окна)
но вы также, вероятно, должны указать, какую версию vim вы используете, и как это работает в emacs. Может быть, мы сможем найти вам точную альтернативу vim.
источник
Был упомянут FuzzyFinder, однако мне нравится поведение FuzzyFinderTextmate, похожее на textmate. плагина которое расширяет поведение и включает все подкаталоги.
Убедитесь, что вы используете версию 2.16 fuzzyfinder.vim - более поздние версии нарушают работу плагина.
источник
С Exuberant ctags вы можете создавать файлы тегов с информацией о файлах:
Затем откройте файл из VIM с помощью
Вы также можете использовать
<tab>
для автозаполнения имени файла.источник
В GVIM файл можно просматривать с помощью диалогового окна открытия / чтения / записи;
{command} - открыть / прочитать / написать
open - Открывает чтение файла - Добавляет запись файла - Диалог Сохранить как
источник
Я установил FuzzyFinder. Однако ограничение заключается в том, что он находит файлы только в текущем каталоге. Одним из способов решения этой проблемы является добавление FuzzyFinderTextmate. Однако, судя по документации и комментариям, это не работает надежно. Вам нужна правильная версия FuzzyFinder и ваша копия Vim, которая будет скомпилирована с поддержкой Ruby.
Другой способ обхода, который я сейчас пробую, - открыть все файлы, которые мне могут понадобиться в начале сеанса редактирования. Например, откройте все файлы в ключевых каталогах ...
(Это означает, что у меня, возможно, было бы открыто множество файлов, но пока все еще работает нормально.)
После этого я могу использовать FuzzyFinder в буферном режиме, и он будет действовать как
command-o
ярлык TextMate ...источник