Подтвердить что ты не робот

Как использовать первую букву слова в Vim?

В течение долгого времени я знал, что могу использовать ~ в Vim для переключения случая символа. Но есть ли способ сопоставить ключ, чтобы загладить слово и вернуться к предыдущей позиции?

Например:

I like to drink Coca co[l]

Если мой курсор находится в "l", и я понимаю, что мне нужно сделать также "c", в настоящее время мне нужно сделать:

<C-c> b ~ ll i

Есть ли способ сопоставить один ключ, чтобы первая буква слова под курсором была заглавной и сохранить курсор в исходной позиции?

4b9b3361

Ответ 1

:nmap <whatever> m`b~``

Ответ 2

Лично это именно то, что я предпочитаю не делать для макроса. Нет необходимости заполнять ваши .vimrc десятками таких одноразовых решений, потому что решение так естественно вытекает из "инструментария" стандартных команд Vim, что вы можете просто соединить его, как вторая природа.

Я печатаю длинное слово:

the gallicizatio|

(| - позиция курсора). Неожиданно я понимаю, что забыл использовать "галлицизацию" G. Итак, bam!, я нажал ESC (который сопоставлен с клавишей блокировки колпачка на моей клавиатуре, поэтому он принимает только щелчок мизинец), а затем b~A, и я продолжаю печатать, как будто ничего не произошло. Этот ошибочный G был капитализирован за время, когда пользователь Emacs начнет перемещать правую руку к клавишам со стрелками, и я уже перешел к остальной части предложения.

Напротив, с макросом, который я не использовал некоторое время, вероятно, потребуется больше времени, чтобы запомнить, какие ключи, которые я назначил этому макросу. Лучшее решение - очень хорошо изучить важные "основные" команды, которые могут быть объединены "на лету" в соответствии с простыми правилами с миллионами возможных эффектов.

Ответ 3

вы также можете использовать макрос

q<register> <C-c> b ~ ll i q

а затем @<register> каждый раз, когда вам нужно его использовать.

Ответ 4

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

:%s/\(\w\)\(\w*\)/\U\1\L\2/g

и BOOM, проблема решена во всех словах, которые находятся в определенном контексте.

РЕДАКТИРОВАТЬ: Посмотрите здесь тоже, только что понял, была ли эта ссылка, которая имеет похожие ответы:

Заглавная буква каждого слова в выборе с помощью vim