#vim #vi #yank
Вопрос:
У меня в конфигурационном файле есть словарь.
candidates = {'morpheus':(3,1), 'trinity':(3,1), 'neo':(3,1), 'switch':(3,1)}
Я могу выделить мышью одну пару k/v (например 'neo':(3,1)
), чтобы скопировать и вставить, если мне нужно добавить больше пар k/v в словарь, но есть ли способ с помощью команд клавиатуры vi перейти от текущего курсора к следующей запятой или пробелу, чтобы захватить 'neo':(3,1)
пару k/v?
Я знаю, что есть yw
слово «дергать», но в этом случае ви останавливается на знаках препинания и не хватает того, что я хочу. Я думаю, что я также могу перемещать символы слева или справа от курсора, но я не хочу считать символы, если могу с этим поделать.
Есть ли способ заставить vi переместиться из текущего положения курсора в следующее пространство или следующий )
символ?
Комментарии:
1. нажмите «v», затем «y» … это приведет к вытягиванию выбранных строк (с помощью «v»), поэтому, если вы хотите
ity':(3,
скопировать, переместите курсор на «i», затем нажмите «v», затем «y». затем вы можете нажать «p», чтобы вставить
Ответ №1:
yw
, что на самом деле означает «переход к следующему слову», а не «переход к слову», не следует воспринимать как единую команду. Это действительно две команды: оператор y
, за которым следует движение, w
. Это довольно важно, потому что понимание модели «оператор движение» позволяет вам свободно создавать очень выразительные команды редактирования.
В этом случае вы можете переместить курсор на закрытие )
с f)
помощью или 2t,
, что дает вам две следующие команды:
yf) y2t,
См :help f
., :help t
, и введение в руководство пользователя модели оператор движение: :help 04.1
.
Ответ №2:
Дерните на следующий пробел (исключая пробел) yt
(обратите внимание на пробел в конце, на который дергается персонаж)
Дерните на второй пробел (исключая пробел) y2t
Переместитесь в следующее пространство (включая пространство) yf
Дерни до конца линии y$
Выдерни все, что внутри тока '...'
yi'