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

Как редактировать столбцы в vim?

Vim довольно эффективен при редактировании по строке - инструменты поиска/замены моделируются для работы по линии.

Но что, если я хочу изменить конкретный столбец по всем строкам? Например, как я могу легко сменить 80-й столбец в файле #?

4b9b3361

Ответ 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'