Ответ 1
Для "replace-inner-quotes-to-yanked-text" вы можете использовать vi"p
.
Я делаю следующее, чтобы скопировать текст внутри кавычек и вставить его в другое место (внутри кавычек):
di"
go-to-buffer-for-copy
copy-string (ex. yi")
then-go-to-prev-buffer
paste-to-string (p)
Но я хочу сделать это проще, например:
yi"
go-to-buffer-for-paste
replace-inner-quotes-to-yanked-text
Для "replace-inner-quotes-to-yanked-text" вы можете использовать vi"p
.
(потянув мой комментарий в свой собственный ответ)
Предполагая, что вы используете vim
с системным буфером обмена, вы можете сделать следующее:
"+yi"
, чтобы скопировать текст внутри кавычек в системный буфер обменаci"<Ctrl-V><Esc>
заменяет содержимое внутри кавычек содержимым вашего буфера обменаОдно из преимуществ заключается в том, что если вы хотите поместить исходный текст в несколько мест, вы можете поместить курсор в следующую позицию и нажать .
.
vi"p
, предложенный Рэнди Моррисом, работает, но он заменяет содержимое вашего регистра по умолчанию, и выбор не будет записан в команде "сделать снова", только вставить.
Вы все равно можете использовать регистр "0
для доступа к исходному тексту, но я не нашел команду, которая изменилась бы внутри кавычек и вставлялась таким образом, что будет выполняться повторная настройка.
Этот метод позволяет вам оставаться в режиме вставки и не требует сопоставления неназванного буфера обмена в системном буфере обмена:
yi"
(yank внутри кавычек?'
, за которым следуют первые несколько букв текущего содержимого целевых кавычек (поиск назад)p
(вставить)dt"
(удалите уже существующий контент, который был в кавычках