Я строго использую vim, но я играл с emacs и очень любил ido-mode при открытии файлов. просто начните вводить часть имени файла, и он сузит поиск, и просто нажмите ввод, когда нужный файл окажется в начале списка. есть ли что-нибудь похожее для vim? Я искал без удачи.
спасибо
Есть несколько хороших плагинов для быстрого поиска файлов, таких как fuzzyfinder http://www.vim.org/scripts/script.php?script_id=1984, которые могут улучшить ваш опыт. (Fuzzy Finder, кажется, делает неоднозначный выбор)
Также вы можете посмотреть варианты настройки дикого режима ала: он дикий режим
Метод, который я объяснил здесь, не относится к двусмысленному трюку, но он удобен для вкладок.
Как сделать так, чтобы vim делал нормальное (как bash) завершение для имен файлов?
В vim есть завершение имен файлов с помощью табуляции, но, к сожалению, оно показывает все первое совпадение, а не просто останавливается, когда достигает неоднозначности, как это происходит при завершении на вкладке bash.
Я думаю, что плагин 'command-t' может быть тем, что вы ищете: https://wincent.com/products/command-t http://www.vim.org/scripts/script.php?script_id=3025
Этот плагин отображает t на функцию, которая открывает окно с отфильтрованным списком файлов. Когда вы начинаете печатать, файлы фильтруются в реальном времени, и вы можете нажать Enter, чтобы выбрать самый верхний файл.
В зависимости от того, что вы хотите завершить, у вас есть следующие опции:
Если вы хотите завершить имена файлов, начиная с $ HOME, / etc или других каталогов, содержащих много файлов, вы можете попробовать fuzzyfinder (упомянутый @michael) или мой zvim плагин (весь плагин это альфа, но команды :ZEdit и :ZView достаточно стабильны). С моим плагином вы получите zsh-подобное завершение, которое не совсем то, что вы просили, но это хорошо. Пример:
:ZEdit
:ZView
ZE ++e=u<Tab><Tab> ~/.v/d/z/p/v<Tab>
расширится до (с &wildmode="longest,list:full")
&wildmode="longest,list:full"
ZE ++enc=utf-8 ~/.vim/dev/zvim/plugin/z.vim
Конечно, вам необходимо знать, где находится z.vim (или что вы хотите найти).
z.vim
// Чтобы установить zvim, установите vim-addon-manager и mercurial и добавьте строку call scriptmanager#Activate(["zvim"]) в свой vimrc.
call scriptmanager#Activate(["zvim"])
Если вы хотите найти файлы проекта (файлы в текущем каталоге), попробуйте плагин Command-T . Он требует поддержки ruby и индексирует файлы, поэтому его нельзя использовать для поиска файлов, начиная с домашнего каталога.
У меня та же проблема, и ее решение ": help wildmode". Я лично использую
set wildmenu set wildmode=longest:full,full