Капитализировать строки, начинающиеся с ** в vim - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь использовать заглавные буквы в каждой строке , начиная с int. или INT.

Следующая команда

    %s/\<int.*\>/\U&/gi

заглавные строки, такие как международные, целые тоже. (Я знаю, что могу добавить c и найти его, а затем подтвердить его, но я предпочитаю добавлять его в свой .vimrc и получать результат всякий раз, когда сохраняю файл.)

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

%s/\<int.\s*\>/\U&/g

но это не сработало.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 28 июня 2018

Я бы сделал с :g командой:

:g/^int\./norm! gUU

Некоторые Примечания :

  • вышеприведенная строка работает для опции ic set. Я чувствую, что удобно установить ic и scs.

  • строка ниже работает независимо от того, установлена ​​ли у вас ic или нет:

    :g/\c^int\./norm! gUU
    
0 голосов
/ 28 июня 2018

Просто говорю: кажется, это проще сделать с :g.

Что-то вроде:

:g/\v^(int|INT)\./norm! gUU
  • \v активирует очень магический режим для регулярных выражений, не обязательно, но я считаю, что так проще,
  • :g берет все строки, соответствующие шаблону, и запускает norm! gUU для каждой из этих строк (спасибо @Kent за подсказку!) . Как вы знаете, gUU в обычном режиме преобразует всю строку в верхний регистр.

Подробнее о :g здесь: http://vim.wikia.com/wiki/Power_of_g Это легко убиваемая особенность Vim, о которой многие пользователи не знают. Я не мог жить без этого!

0 голосов
/ 28 июня 2018

Вам нужно использовать

%s/^int\..*/\U&/i

Здесь,

  • ^ - начало строки
  • int\. - подстрока int.
  • .* - весь текст до конца строки.

Замена \U& переводит весь сопоставленный текст в верхний регистр.

Флаг i делает сопоставление без учета регистра. Обратите внимание, что вам не нужно g здесь, поскольку команда повлияет на все строки, и в каждой строке есть только 1 совпадение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...