Как переместить набранный текст в определенный регистр в vim? - PullRequest
10 голосов
/ 07 апреля 2011

При редактировании в vim достаточно часто я останавливаюсь, когда собираюсь удалить текст, и замечаю, что ранее выдернутый текст пригодится для следующих операций.

Итак - как переместить уже выдернутый текст в определенный регистр (например, под a )?

Ответы [ 4 ]

6 голосов
/ 07 апреля 2011

Переместить регистр 0 в регистр a:

:let @a=@0
3 голосов
/ 07 апреля 2011

Вы можете использовать что-то вроде:

noremap <leader>ma :let @a=@<CR>

Теперь, когда вы нажимаете \ma в обычном режиме, ваш последний выдернутый текст перейдет в регистр 'a'.
Примечание. Предполагается, что лидером является '\'

2 голосов
/ 08 апреля 2011

В качестве альтернативы, вы можете удалить текст в реестр devnull с помощью "_d (на самом деле это называется регистр blackhole).Смотри :help quote_.Тогда нет необходимости перемещать регистры, ваш ранее выдернутый текст все равно будет доступен с p.

2 голосов
/ 08 апреля 2011

Вы также можете использовать регистр 0, если он нужен вам только в течение короткого периода времени.От :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].

(ссылка на остальные)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...