Подтвердить что ты не робот

Используя vim, что такое "<,>>"?

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

Что означает '<,'>?

Используя linux (debian), gnome-terminal, vim7.2

4b9b3361

Ответ 1

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

Например, :'<,'>d удалит выбранный блок, а :d удалит строку под курсором.

Аналогично, :'<,'>w fragment.txt записывает выделенный блок в файл с именем fragment.txt.

Две разделенные запятой вещи ('< и '>) - это метки, соответствующие началу и концу выделенной области. На страницах справки (:help '<):

                                                       *'<* *`<*
'<  `<                  To the first line or character of the last selected
                        Visual area in the current buffer.  For block mode it
                        may also be the last character in the first line (to
                        be able to define the block).  {not in Vi}.

                                                        *'>* *`>*
'>  `>                  To the last line or character of the last selected
                        Visual area in the current buffer.  For block mode it
                        may also be the first character of the last line (to
                        be able to define the block).  Note that 'selection'
                        applies, the position may be just after the Visual
                        area.  {not in Vi}.

При использовании таким образом метки просто указывают диапазон для следующей команды (см. :help range). Конечно, их можно смешивать и сопоставлять с другими спецификаторами номера строки. Например, следующая команда удалит все строки из начала выбранной области в конец файла:

:'<,$d

Vim Wiki имеет дополнительную информацию на диапазонах Vim.