Как конвертировать весь текст в Vim в нижний регистр? Это вообще возможно?
vim
text-processing
ksuralta
источник
источник
Ответы:
Если вы действительно имеете в виду маленькие заглавные буквы , то нет, это невозможно - точно так же, как невозможно преобразовать текст в жирный или курсив в любом текстовом редакторе (в отличие от текстового процессора ). Если вы хотите преобразовать текст в нижний регистр, создайте визуальный блок и нажмите
u
(илиU
для преобразования в верхний регистр). Tilde (~
) в командном режиме меняет регистр символа под курсором.Если вы хотите, чтобы весь текст в Vim отображался маленькими буквами, вы можете посмотреть на эту
guifont
опцию или ввести,:set guifont=*
поддерживает ли ваш аромат Vim средство выбора шрифтов GUI.источник
guu
снизит строчку иgu[motion]
уменьшит значение текста этого движения. Точно так жеgUU
иgU[motion]
работают так же, только для прописных.Я полагаю, вы хотите, чтобы текст в нижнем регистре. Решение довольно простое:
Объяснение:
источник
U
буквы (напримерggVGU
)Похоже на решение Мангледорфа, но короче и дружелюбнее
:%s/.*/\L&/g
источник
:%s/.*/\L&
было бы достаточно (не нуженg
флаг, так как.*
выделяет всю строку):%s/./\L&/g
, поскольку / g / обозначает глобальную для строки операцию. Что получает меня, тем не менее, это&
. Почему это необходимо?&
означает здесьwhat was matched by the pattern
, так что это можно понять следующим образом: заменить.*
на\Lowercase(what was matched by the pattern)
. Обратите внимание, что сопоставление.
глобально медленнее, чем сопоставление.*
используйте эту опцию командного режима
источник
Множество способов снять шкуру с кошки ... вот способ, о котором я только что писал :
Аналогично для заглавных букв:
Я предпочитаю этот способ, потому что я использую эту конструкцию (
:%s/[pattern]/replace/g
) все время, так что это более естественно.источник
:%s/./\U&/g
тоже работает. Оказывается, он игнорирует цифры и не алфавитные символы. Что получает меня, так это&
. Почему \ U (или \ L) само по себе недостаточно? Можем ли мы получить объяснение этому?&
является заменой для согласованной строки. Таким образом,\U&
заглавная строка соответствует заглавной, чтобы ее можно было использовать для замены.Для примеров и дополнительной информации, пожалуйста, прочитайте это: http://vim.wikia.com/wiki/Switching_case_of_characters
источник
&
. \ L и \ U имеют смысл, но зачем это&
нужно?использование
ggguG
GG: идет к первой строке. gu: изменить на строчные. G: идет к последней строке.
источник
Обычно Vu(или VUв верхнем регистре) достаточно, чтобы превратить всю строку в строчную, так как Vуже выбирается вся строка, к которой применяется действие.
Tilda ( ~) изменяет регистр отдельных букв , что приводит к регистру верблюдов или тому подобному.
Действительно здорово, что у Vim есть много разных режимов, чтобы иметь дело с различными случаями, и как эти режимы аккуратно организованы.
Например, v- истинный визуальный режим и связанные с ним V- визуальные линии и Ctrl+ Q- режимы визуальных блоков (что позволяет выбирать блоки, отличная особенность, которую некоторые другие продвинутые редакторы также обычно предлагают, удерживая Altклавишу и выбирая текст).
источник
Если вы работаете под ароматом Unix
источник
:%!tr A-Z a-z
!
Показывает внешнюю команду оболочки, так что$ man tr
(в отличие от:help tr
) , показывает , чтоtr
дляtranslate
.:%0,$!tr [:upper:] [:lower:]
У меня была похожая проблема, и я хотел ее использовать
":%s/old/new/g"
, но в итоге использовал две команды:источник