2015-11-26 2 views
0

Извините за вопрос о нобе, но я нахожу, что он пытается просто положить «;» в конце строки после написания функции. Например, я кодирование в C и много времени мне нужно писать такие вещи, как:Эффективный способ положить; в конце строки

f(a); 

то, что я обычно набираться (от нормального режима, с помощью монтажного кронштейна autopair типа функции):

if(a<ESC><SHIFT-a>; 

и ему нужно изменить режим дважды! По сравнению с обычным редактором (возвышенным):

f(a<right>; 

У кого-нибудь есть более эффективный способ сделать эти набрав? спасибо за любую помощь.

+0

Какова причина, по которой вы «должны» перейти из режима вставки после ввода 'a', и какую функцию автоподобной скобки вы используете? – user454038

+0

[delimate] (https://github.com/Raimondi/delimitMate). и при использовании vim я не хочу использовать клавишу со стрелкой для перемещения в режиме вставки. Таким образом, я должен перейти в обычный режим, перейти к концу строки, вернуться в режим вставки, затем ввести; Сложно, не так ли? – vantubk

ответ

1

Я думаю, что у вас установлен плагин «авто-закрыть». У меня тоже есть такой плагин, и я тоже не нажимаю клавиши со стрелками, так как у меня их нет на клавиатуре. У меня есть this:

" moving cursor out of (right of) autoClosed brackets 
inoremap <c-l> <esc>%%a 

Так что с вашим примером: он будет (предположим, что уже находится в режиме INSERT)

f(a<ctrl-l>; 

Таким образом, ваши пальцы никогда не выходить из дома строки.

+0

спасибо, это именно то, что я хочу: D – vantubk

+0

Я никогда не использовал плагины «автозакрытия». Действительно ли эти плагины полезны? Как видно из этого вопроса, он вводит громоздкость, чем удобство. Кстати, я видел несколько IDE (Eclipse?) с функцией «автозакрыть» в том, что [вы можете просто ввести правую скобку (например, «)») как есть поверх скобки с автоматическим вставлением] (http://stackoverflow.com/a/14771283). // Во всяком случае, если у меня есть вложенные скобки или сложные структуры скобок, а позже они решили изменить их на месте, эти плагины всегда действуют разумно, вставляя/оставляя лишние скобки справа. :(Я никогда не видел, чтобы один был выполнен правильно. – cychoi

+0

@cychoi, если плагин полезен, я думаю, что это само по себе является субъективным вопросом. Например, лично я думаю, что авиакомпания, powerline, * плагин линии не полезен, плагин с несколькими курсорами тоже не полезен. однако некоторые люди смотрят на эти сценарии в разных точках зрения, и они считают, что они полезны для них ... Если вы хотите получить дополнительную функциональность и нашли плагин, вы должны попробовать это самостоятельно, чтобы убедиться, что это действительно «полезно» для вас ... – Kent

1

Если вы пользователь vim, вы можете нажать Shift-a.

Shift-a доставит вас из нормального режима в режим вставки и начнет курсор в конце строки.

(Если вы хотите быть эффективным пользователь Vim, вы должны переназначить ЭК что-то вроде колпаков замка.)

+0

http://stackoverflow.com/questions/105721/how-to-move-to-end-of-line-in-vim?rq=1 – hlin117

+0

Я уже сделал все это (см. Мою последовательность клавиш), но это все еще не столь эффективны, как возвышенные. – vantubk

+0

Извините, не знал, что вы указали, что вы кодировали в vim. Имеет ли это значение, хотя? В общем случае vim будет намного быстрее. (И, как я уже сказал, вы должны избегать использования esc.) – hlin117

0

По сравнению с нормальным редактором (возвышенный):

f(a<right>; 

Ну ... это именно то, как вы это сделаете в Vim, если вы используете Delimitmate или какой-нибудь другой плагин «autoclosing». Почему вы настаиваете на том, чтобы сделать вещи более сложными, чем они есть?

+0

Я не хочу использовать клавиши со стрелками. Мне просто интересно, как другие виммеры делают это. – vantubk

+0

Другие виммеры просто нажимают '' или ''; это самое простое и эффективное решение этой проблемы. – romainl