Есть ли способ установить диапазон редактирования файла в Vim, чтобы он применим к любой последующей команде? Я собираюсь сделать большой рефакторинг функции, и я хотел бы ограничить все мои изменения (замены в этом случае) только этой функцией. Раньше я только что скопировал функцию в новый буфер, сделал изменения и скопировал их обратно в основной файл, но я надеюсь, что есть более умный способ.Настройка диапазона редактирования в Vim
Я знаю, что могу установить отметку в начале и конце функции и использовать метки для диапазона подстановочной команды, и я знаю, что могу использовать визуальный режим для выбора диапазона строк, что-то делать, использовать gv для повторного выбора, а затем выполнить следующую команду, но оба эти метода полагаются на меня, помня, чтобы указать диапазон перед каждой командой.
Любые другие предложения?
Если ваш функция использует фигурные скобки, вы можете использовать '$ v%' для выбора всей функции в либо начальную, либо конечную скобу. –
Я просто знаю марку и визуальный отбор тоже, ожидая другого элегантного метода. –
@tandu Если vim был скомпилирован с + текстовыми объектами, вы можете легко выбрать целую функцию, в которой находится курсор с помощью 'va {' –