Что люди рекомендуют для облегчения манипулирования буферами в vim?
Использование команд ls и b1, bn и bp хорош, но, возможно, есть лучший способ.
Лучше ли использовать lusty explorer?
Я использую vim 7.3.
Что люди рекомендуют для облегчения манипулирования буферами в vim?
Использование команд ls и b1, bn и bp хорош, но, возможно, есть лучший способ.
Лучше ли использовать lusty explorer?
Я использую vim 7.3.
Вы должны проверить их все и посмотреть, какой из них лучше всего соответствует вашим вкусам и требованиям.
Я использовал LustyExplorer некоторое время и любил его, пока не попробовал CtrlP, который я нахожу быстрее и интуитивно понятным. У меня есть :CtrlPBuffer
сопоставленный с ,b
и не вижу причин жаловаться: он элегантный, быстрый и интуитивно понятный.
Вы не должны полагаться на плагины, хотя:: :b <tab>
позволяет вам перечислить список всех доступных буферов. Вы можете сделать :b pattern<Tab>
чтобы получить меньший список.
Unite.vim - это новый плагин, и я переключился на него с помощью CtrlP.
Это хорошая отправная точка, если вы хотите изучить, что она может сделать.
Я использую minibufexpl.vim. Я думаю, его главное преимущество в том, что он занимает очень мало места.
FuzzyFinder - еще одно превосходное дополнение для навигации по буферам/файлам:
http://www.vim.org/scripts/script.php?script_id=1984
Какой бы плагин вы ни выбрали для этого, стоит потратить некоторое время, чтобы узнать все способы, которыми он может вам помочь.
Если у вас все в порядке, если vim скомпилирован с поддержкой ruby и у вас установлена devchchchain (make, gcc, может быть, что-то еще), пользователи Gentoo, такие как я, уже имеют все это), тогда Command-T - хороший выбор. Чтобы использовать его для переключения буферов, вы должны сопоставить что-то с :CommandTBuffer
, у меня есть
nnoremap ,b :CommandTBuffer<CR>
Раньше я использовал много плагинов, в том числе minibufexpl и Bufexplorer, но во всем было что-то, что меня раздражало.
Теперь я использую юный плагин Buffet, и я бы рекомендовал его, потому что он кажется действительно лучшим для меня: он очень быстрый и простой в использовании.
Лично я хотел бы переключить свои буферы с помощью Ctrl+Tab и Shift+Ctrl+Tab, а буферы должны быть упорядочены в самом последнем порядке.
Вот моя конфигурация буфета для переключения <C-Tab> и <S-C-Tab>:
noremap <silent> <C-Tab> :Bufferlistsw<CR>
noremap <silent> <C-S-Tab> :Bufferlistsw<CR>kk
if !has('gui')
map <S-q> :Bufferlistsw<CR>
endif
augroup BuffetAdd
if !exists("g:BuffetAdded")
let g:BuffetAdded = 1
au BufWinEnter buflisttempbuffer* map <buffer> <Tab> <CR>
au BufWinEnter buflisttempbuffer* map <buffer> <C-Tab> j
au BufWinEnter buflisttempbuffer* map <buffer> <C-S-Tab> k
" in console Vim we can't use <C-Tab> mappings (almost always),
" so this is temporary solution: <S-q>
if !has('gui')
au BufWinEnter buflisttempbuffer* map <buffer> <S-q> j
au BufWinEnter buflisttempbuffer* map <buffer> q <CR>
endif
" workaround Surround plugin issue in Buffet window:
" disable "ds" mapping in the Buffet window (to make "d" work fast)
au BufEnter buflisttempbuffer* nunmap ds
au BufLeave buflisttempbuffer* nmap ds <Plug>Dsurround
endif
augroup END
Только одна проблема: Vim не позволяет вам отображать выпуск какого-либо ключа, поэтому вам нужно снова нажать Tab, чтобы действительно переключиться на буфер.
В любом случае, если вам не нужно переключиться <C-Tab>, плагин Buffet работает без него.