Как преобразовать весь текст в нижний регистр в Vim

Как конвертировать весь текст в Vim в нижний регистр? Это вообще возможно?

 fnds09 нояб. 2012 г., 17:43
На сайте VIM есть ответ:vim.wikia.com/wiki/Switching_case_of_characters Благодарю.
 lemonad08 авг. 2009 г., 15:00
Прежде чем редактировать вопрос, нужно было конвертировать весь текст в vim в маленькие заглавные буквы. Очевидно, что есть вариант использования для преобразования текста в нижний регистр.
 ksuralta13 июл. 2009 г., 07:30
У нас много HTML-страниц со всеми символами в верхнем регистре. Это экономит мое время, печатая все в нижнем регистре.

Ответы на вопрос(10)

:0,$!tr "[A-Z]" "[a-z]"
 13 июл. 2009 г., 06:21
Квадратные скобки являются излишними, и после их удаления кавычки также не нужны.:%!tr A-Z a-z
 02 окт. 2014 г., 05:47
! указывает на команду внешней оболочки, так$ man tr (в отличие от:help tr) показывает, чтоtr дляtranslate.

ggguG


gg - Goto the first line 
g  - start to converting from current line    
u  - Convert into l,ower case for all characters
G  - To end of the file.
Toggle case "HellO" to "hELLo" with g~ then a movement. Uppercase "HellO" to "HELLO" with gU then a movement. Lowercase "HellO" to "hello" with gu then a movement.

http://vim.wikia.com/wiki/Switching_case_of_characters

 02 окт. 2014 г., 05:42
Я полагаю, что это не так, но в ответе @mangledorf'а есть команда подстановки, которая менее интуитивно понятна, путем замены нужных символов на escape-последовательность \ L & amp; для строчных букв и \ U & amp; & quot; для прописных. Что меня заводит&, \ L и \ U имеют смысл, но почему& необходимо?
 02 окт. 2014 г., 05:37
Интересно, есть ли для этого бывшая команда?

У меня была похожая проблема, и я хотел использовать":%s/old/new/g", но в итоге использовали две команды:

:0
gu:$

ggguG

gg : goes to the first line . gu : change to lowercase . G : goes to the last line .

 24 мая 2018 г., 21:05
Я не понизил.
 24 мая 2018 г., 20:59
Проголосовал, чтобы довести это до 0, что является адекватным баллом за ответ, который является копией предыдущего. @MSeifert Отрицательные оценки должны быть зарезервированы для неправильных / вредных решений
 14 янв. 2017 г., 22:14
Чем это отличается от ответа Каланидхи?

отправил около:


:%s/[A-Z]/\L&/g

Аналогично для заглавных букв:


:%s/[a-z]/\U&/g

Я предпочитаю этот способ, потому что я использую эту конструкцию (:%s/[pattern]/replace/g) все время, чтобы оно было более естественным.

 02 окт. 2014 г., 05:43
:%s/./\U&/g тоже работает. Оказывается, он игнорирует цифры и не алфавитные символы. Что меня заводит&, Почему t \ U (или \ L) само по себе недостаточно? Можем ли мы получить объяснение этому?
 02 окт. 2014 г., 15:56
& является заменой для согласованной строки. Так\U& заглавная строка соответствует заглавной строке, чтобы ее можно было использовать для замены.
 18 нояб. 2013 г., 17:13
Я думаю, что в последнем примере есть опечатка («аналогично для заглавных букв») - регулярное выражение должно измениться на [a-z], а не на «[A-Z]»; ,

вы хотите, чтобы текст в нижнем регистре. Решение довольно простое:

ggVGu

Объяснение:

gg - goes to first line of text V - turns on Visual selection, in line mode G - goes to end of file (at the moment you have whole text selected) u - lowercase selected area
 09 июл. 2009 г., 13:00
или ggguG, если вы хотите сделать это без визуального выбора. : help gu
 22 апр. 2018 г., 06:17
столько любви к магии Vim! & Lt; 3
 22 февр. 2013 г., 02:40
это должен быть принятый ответ
 21 окт. 2013 г., 17:25
использовать капиталU для прописных букв (например,ggVGU)

:%s/.*/\L&/g

 28 сент. 2014 г., 21:30
:%s/.*/\L& будет достаточно (не нужноg флаг с.* выделяет всю строку)
 02 окт. 2014 г., 05:51
Как бы:%s/./\L&/g, поскольку / g / обозначает глобальную для строки операцию. Что меня заводит, так это&, Почему это необходимо?
Решение Вопроса

small caps, then no, that is not possible – just as it isn’t possible to convert text to bold or italic in any text editor (as opposed to word processor). If you want to convert text to lowercase, create a visual block and press u (or U to convert to uppercase). Tilde (~) in command mode reverses case of the character under the cursor.

If you want to see all text in Vim in small caps, you might want to look at the guifont option, or type :set guifont=* if your Vim flavour supports GUI font chooser.

 09 июл. 2009 г., 12:28
Я думаю, что стоит упомянуть, что вам не обязательно создавать визуальный блок для строчных букв блока текста.guu будет строчная строчка, иgu[motion] снизит значение текста этого движения. Точно так же,gUU а такжеgU[motion] работать так же, только в верхнем регистре.
 18 авг. 2015 г., 14:52
На самом деле маленькие буквы также возможны для большинства букв, используя & # x1D00; & # x299; c & # x1D05; & # x1D07; & # xA730; & # x262; & # x29C; & # x131; & # x1D0A; & # x1D0B ; & # x29F; & # x1D0D; & # x274; о & # x1D18; & # x280; s & # x1D1B; & # x1D1C; VWX & # x28F; г.
 21 авг. 2015 г., 07:30
Хотя это просто взлом. Они не предназначены для использования в качестве обычных маленьких заглавных букв и не очень хорошо поддерживаются шрифтами. (На моем настольном компьютере F странно рендерится, на моем телефоне он вообще не рендерит, чтобы привести пример.) В любом случае, интересная часть Unicode, спасибо!

Vu (или жеVU для прописных букв) достаточно, чтобы превратить всю строку в строчныеV уже выбирает всю строку, к которой будет применено действие.

Тильда (~) изменяет регистрindividual letter, приводящий к случаю верблюда или подобному.

Действительно здорово, что у Vim есть много разных режимов, чтобы иметь дело с различными случаями, и как эти режимы аккуратно организованы.

Например,v - истинный визуальный режим и связанные с нимV - визуальная линия иCtrl+Q - режимы визуальных блоков (то, что позволяет выбирать блоки, отличная функция, которую некоторые другие продвинутые редакторы также обычно предлагают, удерживаяAlt ключ и выделение текста).

Ваш ответ на вопрос