Vim: как сделать текст, я только что ввел верхний регистр?

Вариант использования: я только что ввел режим вставки и ввел некоторый текст. Теперь я хочу сделать это верхним регистром.

Это может быть сделано через gUmotion. Однако я не могу найти движение по тексту вводимым в недавнюю входную сессию. Это несколько странно, и понятие такого движения является багги (куда переместиться, если у Вас есть удаленный текст, например?), но это может решить мою проблему.

Или, есть ли другие способы сделать верхний регистр текстом, который Вы недавно ввели?

25
задан ErikE 10 September 2010 в 17:18
поделиться

3 ответа

Требуемое движение:

`[

(обратная кавычка, открытая квадратная скобка). Чтобы сделать простое движение, вы должны использовать:

gU`[

Однако вы обнаружите, что последний символ, вероятно, не будет включен из-за того, как работает движение (я могу ошибаться). Простым решением было бы сделать следующее:

v`[U

То есть «перейти в визуальный режим, выбрать от текущей позиции до начала последнего измененного текста, сделать его верхним регистром». Для получения дополнительной информации см .:

:help '[
:help mark-motions

Обратите внимание на разницу в : help mark-motions между обратным апострофом и одинарной кавычкой.

33
ответ дан 28 November 2019 в 20:43
поделиться

Введите слово в нижнем регистре в {{1} } vim.

Затем нажмите клавишу Esc.

Затем переместите курсор к начальному символу набранного слова.

Затем нажмите кнопку ~.

Он заменит нижний регистр на верхний регистр.

Если введен верхний регистр, он заменит нижний регистр.

8
ответ дан 28 November 2019 в 20:43
поделиться

Я просто выделяю текст в визуальном режиме и использую ~ для изменения регистра, U для верхнего или u для нижнего регистра выделенного текста.

Редактировать: См. комментарии ниже.

5
ответ дан 28 November 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: