Как сделать прописной первую букву слова в Vim?
долгое время я знал, что могу использовать ~ в Vim для переключения случая символа. Но есть ли способ отобразить ключ, чтобы капитализировать Слово и вернуться к предыдущей позиции?
например:
I like to drink Coca co[l]
Если мой курсор находится на "l", и я понимаю, что мне нужно сделать" c " капитализировать, в настоящее время мне нужно сделать:
<C-c> b ~ ll i
есть ли способ отобразить одну клавишу, чтобы сделать первую букву слова под курсором заглавной и держать курсор в исходном положении?
4 ответов
лично я предпочитаю именно такие вещи не сделать макрос для. Нет необходимости заполнять ваш .vimrc
с десятками таких одноразовых решений, потому что решение течет так естественно из "toolbox" стандартных команд Vim, что вы можете просто связать его вместе, как вторая природа.
я печатаю длинное слово:
the gallicizatio|
(the |
положение курсора). Внезапно я понимаю, что забыл заглавную букву G
из "Gallicization". Так, БАМ! Я ударил ESC
(который отображается на клавишу caps lock На моей клавиатуре, поэтому требуется только щелчок мизинца), а затем b~A
, и я продолжаю печатать, как будто ничего не произошло. Что странствующий g
было написано с заглавной буквы за то время, пока пользователь Emacs начнет двигать правую руку к клавишам со стрелками, и я уже перешел к остальной части предложения.
в отличие от макроса, который я не использовал некоторое время, это, вероятно, потратьте больше времени, чтобы вспомнить, какие ключи я назначил этому макросу. Лучшее решение-очень хорошо изучить важные "основные" команды, которые можно комбинировать на лету по простым правилам с миллионами возможных эффектов.
вы также можете использовать макрос
q<register> <C-c> b ~ ll i q
и затем сделать @<register>
каждый раз, когда вам нужно использовать его.
Я часто делаю это и использую командную строку EX, чтобы пройти через несколько записей, которые соответствуют условию. В этом случае я использую backreference, который выглядит следующим образом:
:%s/\(\w\)\(\w*\)/\U\L/g
и бум, проблема решена во всех словах, которые находятся в определенном контексте.
EDIT: посмотрите здесь тоже, просто понял, что была эта ссылка, которая имеет аналогичные ответы:
заглавная первая буква каждого слова в выделении с помощью ВИМ