Странные персонажи в визуальном режиме GVim - PullRequest
3 голосов
/ 13 января 2010

Когда я вхожу в визуальный режим (из обычного режима), и когда я нажимаю :, появляются следующие символы: <,'> после :

Это особенность или ошибка?

Windows XP SP2

альтернативный текст http://img94.imageshack.us/img94/5590/16595366.jpg

Ответы [ 5 ]

7 голосов
/ 13 января 2010

У вас выбран визуальный диапазон, и когда вы вводите : в таком случае, автоматически добавляется выбранный диапазон спецификатор '<,'>, указывающий, что команда будет применяться только к выбор.

2 голосов
/ 13 января 2010

В vi [m] вы можете применить : команды (бывшие команды) к текущей строке (по умолчанию) или к любой другой строке, или, в более общем случае, к диапазону строк. Диапазон обозначается как start,end. Например, удалить текущую строку, вы можете сделать:

:d

Чтобы удалить три строки в диапазоне (текущий-1) - (текущий + 1):

:-1,+1d

В vim , отметки < и > используются для обозначения текущего выбора (или последнего выбора, если ничего не выбрано). Поэтому, когда вы набираете : в визуальном режиме, vim достаточно умен, чтобы понять, что вы можете применить команду только к выбранному региону, поэтому дает диапазон после :. Вы просто вводите свою команду, и результаты применяются только к выбору. (Ну, точнее, диапазон, определяемый линиями в выделении).

Это означает, что вы можете перейти к строкам, содержащим начало и конец последней выбранной области, набрав '<</kbd> и '> соответственно. Замените ' на ` (backtick) в начале / конце выделения.

1 голос
/ 13 января 2010

Это, конечно, не ошибка. Это модификатор диапазона, который может предшествовать командам, в данном случае это визуально выделенный диапазон.

Тип

:h cmdline-ranges

чтобы узнать больше о диапазонах.

0 голосов
/ 16 января 2010

'<,'> - это выбранная вами область. Подумайте об этом, легко представлять диапазоны, если вы знаете числа, но для визуально выделенного текста единственный способ представить их (записать / напечатать) - использовать специальные символы, и в этом случае '<,'>

Более того, вы можете выполнять команды в визуально выбранной области так же, как команды в диапазоне номеров строк

1,200 s/old/new/c

'<,'> s/old/new/c

0 голосов
/ 13 января 2010

это нормальная индикация диапазона.

...