Как заставить vim помнить прошлые янки? (Или настроить YankRing, чтобы он делал меньше.)

Когда я удаляю что-то в vim, это добавляется в пронумерованные регистры. Последний элемент, который я удалил, находится в регистре 0. Как я могу заставить vim автоматически запоминать последние 10 удалений?


Я пробовал YankRing, но он слишком сильно меняет поведение vim. Альтернативная формулировка этого вопроса: Как я могу настроить YankRing так, чтобы он добавлял поведение Ctrl-n/Ctrl-p только после вставки (для цикла предыдущих выдергиваний)?

Я часто выдергиваю слово, визуально выделяю другое слово, вставляю, визуально выделяю другое слово, вставляю. Без YankRing последняя паста вставляет первое выделенное слово. С YankRing вставляет снова то же самое слово. (Это только один пример.)

Вот некоторые из моих настроек YankRing. Как вы видите, я просмотрел документацию YankRing, чтобы отключить как можно больше опций, чтобы вернуться к нормальному поведению vim.

" Some settings to try to get yank ring to not mess with default vim
" functionality so much.
let g:yankring_manage_numbered_reg = 0
let g:yankring_clipboard_monitor = 0
let g:yankring_paste_check_default_buffer = 0

" Don't let yankring use f, t, /. It doesn't record them properly in macros
" and that's my most common use. Yankring also blocks macros of macros (it
" prompts for the macro register), but removing @ doesn't fix that :(
let g:yankring_zap_keys = ''

" Disable yankring for regular p/P. This preserves vim's normal behavior, but
" I can still use C-p/C-n to cycle through yankring.
let g:yankring_paste_n_bkey = ''
let g:yankring_paste_n_akey = ''
let g:yankring_paste_v_key = ''

11
задан idbrii 6 February 2012 в 21:49
поделиться