При редактировании в vim достаточно часто я останавливаюсь, когда собираюсь удалить текст, и замечаю, что ранее выдернутый текст пригодится для следующих операций.
Итак - как переместить уже выдернутый текст в определенный регистр (например, под a )?
Переместить регистр 0 в регистр a:
0
a
:let @a=@0
Вы можете использовать что-то вроде:
noremap <leader>ma :let @a=@<CR>
Теперь, когда вы нажимаете \ma в обычном режиме, ваш последний выдернутый текст перейдет в регистр 'a'. Примечание. Предполагается, что лидером является '\'
\ma
В качестве альтернативы, вы можете удалить текст в реестр devnull с помощью "_d (на самом деле это называется регистр blackhole).Смотри :help quote_.Тогда нет необходимости перемещать регистры, ваш ранее выдернутый текст все равно будет доступен с p.
"_d
:help quote_
p
Вы также можете использовать регистр 0, если он нужен вам только в течение короткого периода времени.От :help quote_number (чуть ниже :help registers):
:help quote_number
:help registers
2. Numbered registers "0 to "9 Vim fills these registers with text from yank and delete commands. Numbered register 0 contains the text from the most recent yank command, unless the command specified another register with ["x]. (ссылка на остальные)
2. Numbered registers "0 to "9 Vim fills these registers with text from yank and delete commands. Numbered register 0 contains the text from the most recent yank command, unless the command specified another register with ["x].
(ссылка на остальные)