Я пробовал MiniBufExplorer , но обычно в нескольких окнах он отображается или вообще закрывается. Я бы хотел что-то вроде LustyJuggler с инкрементным поиском, как я переключаюсь между буферами в Emacs. Неужто есть такой сценарий?
Я пробовал MiniBufExplorer , но обычно в нескольких окнах он отображается или вообще закрывается. Я бы хотел что-то вроде LustyJuggler с инкрементным поиском, как я переключаюсь между буферами в Emacs. Неужто есть такой сценарий?
Я использую плагин Wincent Colaiuta Command-T vim уже пару месяцев. Винсент написал на C те части, которые должны быть быстрыми, и я должен сказать, что это так! И я думаю, что его логика сопоставления шаблонов файлов даже лучше, чем Command-T Textmate. Посмотрите скринкаст .
Подключаемый модуль Command-T для VIM предоставляет чрезвычайно быстрый и интуитивно понятный механизм для открытия файлов с минимальным количеством нажатий клавиш. Он назван «Command-T», потому что он вдохновлен окном «Перейти к файлу», привязанным к Command-T в TextMate.
Файлы выбираются путем ввода символов, которые появляются в их путях, и упорядочиваются с помощью алгоритма, который знает, что символам, которые появляются в определенных местах (например, сразу после разделителя пути), следует придавать больший вес.
Упрощенное переключение буфера содержит много полезных советов. Я адаптировал следующее к моему .vimrc, который выполняет автозаполнение имени буфера, сопоставляет наиболее полезные команды переключения буфера с моим <Leader> и ключами левой домашней строки и показывает текущий номер буфера в строке состояния :
"" Tab triggers buffer-name auto-completion
set wildchar=<Tab> wildmenu wildmode=full
let mapleader = ","
map <Leader>t :CommandT<Return>
map <Leader>a :bprev<Return>
map <Leader>s :bnext<Return>
map <Leader>d :bd<Return>
map <Leader>f :b
"" Show the buffer number in the status line.
set laststatus=2 statusline=%02n:%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Я также использую MiniBufExplorer , который предоставляет компактный список каждого указанного буфера в его собственном горизонтальном разделении вверху.
Раньше я использовал комбинацию вкладок и нескольких экземпляров gvim, сохраняя группы связанных файлов в виде вкладок в каждом экземпляре. Пока у меня не было слишком много вкладок в одном экземпляре, панель вкладок сразу показывает имя каждого файла, который вы редактируете.
Затем я прочитал сообщение Джеймиса Бака о том, как он переключился с TextMate обратно на vim , и научился некоторым отличным трюкам:
Теперь у меня есть только один экземпляр gvim, развернутый и разделенный на несколько окон, чтобы я мог видеть несколько файлов одновременно. Я привязал Ctrl-F к fuzzyfinder_textmate, поэтому теперь, если я наберу (скажем) Ctrl-F, mod/usob
откроется app / models / user_observer.rb. Я почти не беспокоюсь о вкладках.
Обновление 2010/08/07
Хотя fuzzyfinder_textmate остается отличным, как отмечает Кейси в комментариях, он больше не поддерживается. Кроме того, он (и / или fuzzyfinder.vim) становится немного медленным и нестабильным при работе с большими проектами (много каталогов или файлов), поэтому я искал альтернативу.
К счастью, там , кажется, очень хорошая альтернатива в виде Wincent Colaiuta «s Command-T плагин . Его поведение очень похоже (если не чуть лучше) на fuzzyfinder_textmate, но заметно быстрее; у него также есть приятные функции, такие как возможность открыть найденный файл с разделением или вертикальным разделением. Спасибо (и положительно!) Дэвиду Риверсу за указание на него.
Я использую основы - '
:ls
' + ':bn
' / ':bp
' + ':b <part-of-name>
'источник
:map <c-n> :bn<cr>
и:map <c-p> :bp<cr>
, посколькуC-n
иC-p
быстро набираются и позволяют переключаться между буферами, если вы нажимаете их несколько раз. (Я никогда не использовал их по прямому назначению.) Это похоже на переключение между вкладками браузера с помощьюC-PgUp
и /C-PgDn
или любого другого ярлыка, который есть в вашем браузере.[b
для предыдущего буфера и]b
для следующего буфера. Плюс множество других вкусностей, в которых используется концепция]
следующего и[
предыдущего.Мне нравятся "ctrl-w s" и "ctlr-w v" для разделения окна. Затем я сопоставляю клавиши перемещения (h, j, k, l) с удерживанием ctrl для перемещения между разделенными окнами:
Необходимость перемещать руку к клавишам со стрелками раздражает.
Затем я настраиваю ctlr-tab для переключения между буферами в текущем окне (как и во многих других средах):
Они очень хорошо работали для меня за последние несколько лет, хотя у vim всегда больше секретов, чем вы можете знать.
источник
:bp
и <SK> с:bn
и никто не упомянул красивый плагин ctrlp.vim . Используя этот плагин, вы можете искать буфер по имени.
источник
я использую
CTRL- Jдля следующего буфера
CTRL- Kдля предыдущего буфера
CTRL- Lдля следующей вкладки
CTRL- Hдля предыдущей вкладки
Вот
.vimrc
конфигурация:См. Http://syskall.com/my-biggest-vim-productivity-boost/
источник
источник
:tab sball
сначала или вместо использования:tabn
должны использовать:buffer
Недавно я стал более минималистичным.
Для переключения буферов я использую ]bи [bиз исправных: https://github.com/tpope/vim-unimpaired
Чтобы перейти прямо к открытому буферу, просто используйте завершение вкладки Vim с помощью :b. Достаточно нескольких букв, чтобы попасть в любой открытый буфер с одной-двумя вкладками.
Так же, как и открытые буферы, которые я использую :eс относительными путями и завершением табуляции.
Я также :lsиногда использую, чтобы посмотреть, какие буферы у меня открыты (и проверить их измененный статус).
Чтобы избавиться от буфера, я :bwпротираю буфер. Я обычно делаю временное разделение и меняю буферы, чтобы сохранить мой макет, поскольку :bwтакже закрывает активное окно.
Все эти минибуферы, которые я пробовал, в конечном итоге меня раздражали, и я не хочу, чтобы какая-то штука с умным соответствием открывала для меня случайные файлы. Если мне действительно нужно что-то найти, я использую NERDtree ( :e .).
IDK, в последнее время я также отказался от Yankring (потому что он лажает xp) и начал использовать регистры, и недавно я решил, что f/ tдвижения - лучшая вещь на свете ...
источник
<leader>ll
на карту:ls
. Кроме того , это очень полезно , чтобы убедиться , что у вас естьset wildmenu
в вашем ,.vimrc
как и тогда вы получите небольшое меню , которое появляется со всеми альтернативами для:b
Превосходный Buffer Explorer , у него такая сильная мышечная память, что мне хочется использовать его в других приложениях. Я считаю, что это очень быстро при активном редактировании более двух файлов.
источник
Я потратил довольно много времени на создание своего .vimrc для работы с этим проектом HTML :: Mason, над которым я работаю уже четыре года, поэтому у меня есть странное сочетание вкладок и разделенных окон. Для вашего удовольствия от просмотра:
источник
Я использую tselectbuffer . Это действительно быстро и в отличие от bufexplorer не занимает места в вашем окне. Также есть инкрементный поиск. Я попробовал minibufexplorer, и мне показалось, что навигация в буфере немного затруднена.
источник
,be
,,bs
,,bv
, поэтому я сопоставляюсь TSelectBuffer к,bb
.Для просмотра и переключения между буферами я использую:
Для переключения между буферами:
источник
Я сопоставляюсь
<S-J>
и<S-K>
к:bp
и:bn
, хотя я признаю , что я не использую его как количество файлов больше , чем 10. Я затем отображаюсь<C-J>
и<C-K>
на предыдущую и следующую вкладку Gnome Terminal, и я обычно работаю 4 экземпляра Vim для каждого из 4 разных проекта, над которыми я работаю. Я все еще очень хочу, чтобы следующий и предыдущий буфер переходили к истории буферов, над которыми я работал, а не к порядку в списке буферов.источник
Пользуюсь tselectbuffer. Это действительно быстро и в отличие от bufexplorer не занимает места в вашем окне. Также есть инкрементный поиск. Я попробовал minibufexplorer, и мне показалось, что навигация в буфере немного затруднена.
источник
Я использую простые: vsplit с ^ W + w / ^ W + r и: tabnew с комбинациями клавиш Ctrl + Alt + PgUp / PgDown.
источник
Когда в сеансе Vim открыто несколько буферов, становится трудно отслеживать буферы и соответствующие им номера буферов. В этом случае переключение на другой файл можно упростить с помощью простой карты:
vim.wikia.com
источник