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


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

10 180

10 ответов:

  1. если вы действительно имеете в виду капители, то нет, это невозможно – так же, как невозможно преобразовать текст в полужирный или курсив в любом текстовый редактор (вместо текстовый процессор). Если вы хотите преобразовать текст в нижний регистр, создайте визуальный блок и нажмите u (или U преобразовать в верхний регистр). Тильда (~) в командном режиме переворачивает регистр символа под курсором.

  2. если вы хотите увидеть весь текст в Vim в маленьких шапках, вы можете посмотреть на , или типа :set guifont=* если ваш вкус Vim поддерживает GUI font chooser.

Я предполагаю, что вы хотите строчного текста. Решение довольно простое:

ggVGu

объяснение:

  1. gg - переходит к первой строке текста
  2. V - включает визуальный выбор, в линейном режиме
  3. G - переходит в конец файла (на данный момент у вас есть весь текст, выделенный)
  4. u - строчная выделенная область

похоже на решение mangledorf, но короче и непрофессионал дружественный

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

используйте этот параметр командного режима

ggguG


gg - Goto the first line 
g  - start to converting from current line    
u  - Convert into lower case for all characters
G  - To end of the file.

много способов кожи кошки... вот так я просто опубликовано о:


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

аналогично для верхнего регистра:


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

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

  • переключить случай "привет" на "Привет" с g~ затем движение.
  • в верхнем регистре " привет "до" Привет " с ГУ затем движение.
  • строчные "привет" на "Привет" с ГУ затем движение.

для примеров и более подробной информации, пожалуйста, прочитайте это: http://vim.wikia.com/wiki/Switching_case_of_characters

Если вы работаете под UNIX-подобной операционной системой

:0,$!tr "[A-Z]" "[a-z]"

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

Тильда (~) изменяет делу отдельным письмом, в результате чего в регистр или аналогичный.

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

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

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

:0
gu:$

использовать ggguG

gg: идет к первой строке . gu: изменить на нижний регистр . G: идет к последней строке .