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