2014-11-15 2 views
1

В Vim это происходило со мной, и мне интересно, как лучше справиться с этим. Пример:Vim, как я могу переместить текст в круглые скобки?

something(|)something, else// труба Положение курсора

Я хотел бы закончить с этим:

something(something, else)

Я хотел бы также, чтобы быть в состоянии сделать это :

something(something) else _ // в случае, если я хочу только первое слово

+0

Я просто 'dl', чтобы удалить следующую букву, нажмите' '', чтобы перейти в конец строки, и нажмите 'p', чтобы вставить удаленный') '. Я не уверен, что еще тебе нужно. – meagar

+1

вы можете использовать vim-surround плагин. Визуально выберите требуемый текст, за которым следует S ( – dvk317960

ответ

2

Предполагая, что вы находитесь в режиме вставки:

" first example 
<Del><S-Right><S-Right><S-Right>) 

и:

" second example 
<Del><S-Right><Del>) 

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

" first example 
x$p 

и:

" second example 
xeplx 
1

Я предполагаю, что пара paranthesis не имеет промежутка между ними, так что она выглядит как ()word, another-word etc etc. Затем

d EEp 

изменяет его на (word, another-word) etc etc.

d инициирует удаление. В следующем пространстве vim указывается, сколько вы хотите удалить: один символ (это )). E перепрыгивает через слово. Итак, двойной EE прыгает через два слова. С окончательным p вы вставляете (вставляете) то, что вы удалили (то есть )).

Смежные вопросы