Могу ли я использовать Vim для многострочного редактирования?
Я объединил файл python с помощью vimdiff, и результат имеет что-то вроде этого:
def code():
line 1
line 2
line 3
line 4
...
line n
в этом состоянии, вмятины противоречива. Как удалить все пробелы перед линиями? Я пробовал в визуальном режиме, но он выбирает всю строку. У vim есть многострочное редактирование? Notepad++ позволяет это с помощью Alt-Shift.
4 ответов
существует по крайней мере два решения вашей проблемы :
есть blockwise выберите режим, чем вы входите с помощью Ctrlv. Вы можете выбрать пробелы в начале строк и нажмите d.
кроме того, вы можете выбрать линейно строку, которую хотите изменить, введя визуальный режим с SHiftv (затем используйте стрелку вниз или j для выбора). А затем используйте удалить один уровень отступа. Использовать . чтобы повторить последнюю операцию, если вы хотите удалить несколько отступов.
ShiftV переведет вас в режим визуальной линии, а затем вы можете нажать : ввести команду для выполнения только на выбранных строках.
в визуальном режиме вам нужно только выбрать все строки, которые вы хотите повторно отступ и нажмите =
.
Я никогда не использовал Notepad++, но я думаю, что то, что вы называете многострочным редактированием, достижимо с тем, что Vim называет визуальным блоком : вместо V
нажмите <C-v>
. Затем можно выбрать прямоугольные части текста. Как только у вас есть колонка, нажмите I
или A
чтобы войти в режим редактирования, то <Esc>
чтобы применить редактирование ко всем линиям. Поскольку вы хотите удалить одно пространство вы должны визуально выбрать столбец пробелов и нажать x
или d
.
вы также можете сделать это с помощью простого поиска/замены, я думаю. Или использовать :norm
.