Я знакомлюсь с использованием регистров в Vim, но было бы очень удобно, если бы мне не приходилось постоянно печатать :reg
чтобы увидеть, где все было. Можно ли настроить vim так, чтобы панель регистрации всегда была видна?
3 ответа
Вывод :reg
является мимолетным, вам нужно захватить его (с помощью :redir
) и показать в чистом буфере, а затем найти триггеры для его регулярного обновления. Возможно, но сложно, и я бы навсегда отнял у вас ценную недвижимость на экране.
альтернатива
Вместо этого у меня есть небольшой ярлык, чтобы быстро вызвать содержание самых важных. Поскольку ""
- это то же самое, что не указывать регистр, его легко набрать (особенно после первого "
, когда я начинаю думать:" Хорошо, какой регистр мне нужен?«Я могу просто набрать другое "
и получить эту полезную справку), и она не отменяет никаких встроенных команд.
" List contents of all registers (that typically contain pasteable text).
nnoremap <silent> "" :registers "0123456789abcdefghijklmnopqrstuvwxyz*+.<CR>
Оказывается, ответ за пределами Vim.
vim хранит свои регистры в файле .viminfo (обычно в корне), поэтому нам просто нужно следить за изменениями.
Очень простой способ - «команда наблюдения» с небольшим изменением командной строки:
watch "cat .viminfo | grep -A 1 '\"[0-9a-z]'"
Это распечатывает текущее состояние регистров vim и может работать в совершенно другом окне.
Небольшим недостатком является то, что vim обычно сохраняет свои регистры в viminfo только при выходе из файла, но вы можете принудительно сохранить команду «:wv». Сопоставление этого с запасным ключом позволяет в одно касание обновить вид регистра.
При поиске альтернативы набирать :reg
я нашел этот плагин:
https://github.com/junegunn/vim-peekaboo
Он отображает и позволяет вам выбирать регистры, когда вы печатаете "
и @
в обычном режиме и CTRL-r
в режиме вставки.
Я нашел это здесь: https://github.com/junegunn/fzf.vim/issues/10