Найти в Дзене
Блокнот математика

Рубрика "Секреты Вим". Списки прыжков и правок

Все привет. Сегодня небольшая заметка про две полезные возможности Вим. Это список прыжков и список правок и команды для перемещения по ним. Список прыжков Про команды для прыжков по тексту мы уже говорили. Прыжком называется перемещение курсора более, чем на одну строку. Прыжки записываются и по этому списку можно перемещаться. Это позволяет "отменить" прыжок или несколько прыжков и потом повторить их, если нужно. Команды для прыжков включают в себя: Мы уже говорили, что возврат к позиции перед прыжком возможен по спецметке командами `` или '' (это два апострофа, а не двойная кавычка). То же делает <C-O>, только можно указать еще повторитель, прыгнув не на предыдущую позицию, а более раннюю. То есть, эта команда перемещается назад по списку прыжков. В команда <C-I> перемещается вперед, позволяя повторить отмененный прыжок. Посмотреть весь список позволяет команда :jumps. Он выглядит как на скриншоте. Список правок Аналогично устроен и список правок. Когда вы изменяете текст, позиция

Все привет. Сегодня небольшая заметка про две полезные возможности Вим. Это список прыжков и список правок и команды для перемещения по ним.

Список прыжков

Про команды для прыжков по тексту мы уже говорили. Прыжком называется перемещение курсора более, чем на одну строку. Прыжки записываются и по этому списку можно перемещаться. Это позволяет "отменить" прыжок или несколько прыжков и потом повторить их, если нужно.

Команды для прыжков включают в себя:

  • переходы по меткам (` и ')
  • Переход на строку (gg и G)
  • Поиск (/, ?, n, N)
  • Замена :s
  • Переход к парной скобке %
  • Переходы по предложениям ( и ), абзацам { и } и т.п. ([[, ]], ][, []).
    Кстати, команды из квадратных скобочек рассчитаны на синтаксис nroff и Си и их можно переопределить, если надо.
  • Переходы по тэгам (<C-]> и <C-T>)
  • Сдвиги экрана L, M, H
  • Команды, открывающие новый файл

Мы уже говорили, что возврат к позиции перед прыжком возможен по спецметке командами `` или '' (это два апострофа, а не двойная кавычка). То же делает <C-O>, только можно указать еще повторитель, прыгнув не на предыдущую позицию, а более раннюю. То есть, эта команда перемещается назад по списку прыжков.

В команда <C-I> перемещается вперед, позволяя повторить отмененный прыжок.

Посмотреть весь список позволяет команда :jumps. Он выглядит как на скриншоте.

Список правок

Аналогично устроен и список правок. Когда вы изменяете текст, позиция записывается в особый список, но только если изменения идут не подряд.

Двигаться по списку позволяют команды g; и g,. Только прыжок, без отмены правки!

Вторая их этих команд часто используется для прыжка на место последней правки. Пишете "x=x+" и думаете "что там было?". Выходите из режима вставки, прыгаете наверх, смотрите имя переменной, g, и можно продолжать.

Посмотреть весь список позволяет команда :changes

Пример списка на втором скриншоте. Текущее состояние помечено символом >.

Здесь тоже номер правки, строка, позиция в строке и текст (все в пределах данного файла).
Здесь тоже номер правки, строка, позиция в строке и текст (все в пределах данного файла).

Удобные возможности! Я часто использую ``, метки mm и g,. Но полезно знать, что есть и более продвинутые методы.

Оглавление рубрики

Путеводитель по каналу