Как редактировать столбцы в vim?
Vim довольно эффективен при редактировании по строке - инструменты поиска/замены моделируются для работы по линии.
Но что, если я хочу изменить конкретный столбец по всем строкам? Например, как я могу легко сменить 80-й столбец в файле #
?
Ответы
Ответ 1
Вы можете использовать замену , где шаблон соответствует определенному столбцу (\%c
):
:%s/\%80c/#/<CR>
Или вы можете использовать блок-мудрый визуальный режим:
g g 8 0 | CTRL + v g r #
Параметр 'virtualedit
' может использоваться для позиционирования курсора на
позиции, где нет фактического характера:
:set virtualedit
Ответ 2
Чтобы отредактировать столбец, выполните следующие действия:
- Встаньте в начале столбца
- Нажмите Ctrl + Shift + v, затем отметьте столбец, который вы хотите отредактировать.
- Нажмите Shift + i, чтобы вставить текст в начале столбца, Shift + a, чтобы добавить текст, r, чтобы заменить выделенный текст, d для удаления, c для изменения... и т.д.
- Нажмите ESC, когда закончите.
Я думаю, что люди (я) иногда сопоставляют ключи редактирования столбца с Ctrl + Q, поэтому он не будет сталкиваться с визуальной линией выбора (V) или вставным текстом, если вы сопоставили его как таковой.
Ответ 3
... Я не мог выполнить шаги sa125 (facepalm), поэтому я посмотрел где-то еще и нашел несколько "легче в: https://blog.pivotal.io/labs/labs/column-edit-mode-in-vi
- Ctrl + v [и выберите, что захотите]
- Shift + i [и напишите все... (проверьте * ниже)]
- Esc
*!! Внимание Не обескураживайте тем фактом, что только первая строка изменяется, когда "пишите что угодно..."!!
Надеюсь, что это поможет!
Ответ 4
Я могу быть совершенно вне темы здесь, но если ваша идея состоит в том, чтобы избежать длинных строк, вы можете взглянуть на colorcolumn вариант vim 7.3.
Ответ 5
Для редактирования по столбцам vis.vim действительно полезно. Вы можете заблокировать выделение интересующей колонки и управлять ею с помощью обычных команд и даже произвольных команд Ex. В примере на этой странице я часто использовал шаблон:
:'<,'>B s/abc/ABC/g
Вы можете Vundle/Pathogen установить vis.vim из github:
Плагин 'taku-o/vim-vis'