Команды, о которых вы говорите, используют так называемый «неназванный» регистр. Он предназначен только для очень краткосрочного использования. «Я собираюсь вытащить это отсюда и поместить туда».
Если вы хотите удерживать что-то более нескольких секунд, пока вы занимаетесь чем-то другим, вам следует использовать именованные регистры.
Например, " a y yвыдернет строку, в которой находится курсор, в a
регистр. Ничто не заглушит его случайно, если вы не введете другую команду, включающую a
регистр. Минуты, часы и даже дни спустя вы можете набрать " a pэту выдернутую копию строки из a
регистра под той, на которой находится курсор.
(Для того, чтобы это работало действительно хорошо, у вас должна быть строка, как set viminfo='50,\"1000
в вашем ~/.vimrc
файле, чтобы она помнила такие вещи, как регистрация содержимого в сеансах Vim. Затем вы можете уйти в отпуск между yank и put!)
Есть 26 именованных регистров (az). Если вы указываете их в верхнем регистре, а не как показано выше, вы добавляете их к текущему содержимому регистра, а не заменяете их. Таким образом, вы можете создать что-то действительно сложное, скажем, зарегистрировать по h
одной части за раз, а затем добавить все сразу " h p.
Обратите внимание, что имя регистра необязательно. Это подразумевает, что может быть много команд, которые вы уже знаете и используете, где вы могли бы использовать именованные регистры. Скажите :help registers
в Vim, чтобы получить представление о возможностях.
Кроме того, получите кружку Vi .
y
, продолжить редактирование, включаяd
иx
, и вставить вставленный текст с помощью"0p