Минимально инвазивное решение для ленивых:
Регистр 0
всегда содержит последний янки (как уже упоминали Рафаэль , alex2k8 и idbrii ). К сожалению, выбор регистрации 0
все время может быть довольно раздражающим, поэтому было бы неплохо, если бы он p
использовался "0
по умолчанию. Это может быть достигнуто путем добавления следующих строк в ваш .vimrc
:
noremap p "0p
noremap P "0P
for s:i in ['"','*','+','-','.',':','%','/','=','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
execute 'noremap "'.s:i.'p "'.s:i.'p'
execute 'noremap "'.s:i.'P "'.s:i.'P'
endfor
Первая строка отображает каждый p
штрих "0p
. Однако это предотвращает p
доступ к любым другим регистрам. Поэтому все p
штрихи с явно выбранным регистром отображаются в эквивалентное выражение командной строки внутри цикла for. То же самое сделано для P
.
Таким образом стандартное поведение сохраняется, за исключением неявного p
и P
штрихов, которые теперь используют регистр 0
по умолчанию.
Подсказка 1: команда cut теперь "0d
вместо just d
. Но так как я ленив, это слишком долго для меня;) Поэтому я использую следующее отображение:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
Клавиша-лидер \
по умолчанию, поэтому вы можете легко вырезать текст, набрав \d
или \D
.
Подсказка 2: время ожидания по умолчанию для многоключевых сопоставлений довольно короткое. Возможно, вы захотите увеличить его, чтобы иметь больше времени при выборе регистра. Подробности :help timeoutlen
смотрите, я использую:
set timeout timeoutlen=3000 ttimeoutlen=100