vi / vim альтернатива підрозділу "Розширити вибір на область застосування"


13

Текст піднесеного класу має цікаву функцію під назвою " Розгорнути вибір до області " SHIFT + CMD + SPACE, яка вибирає все, що знаходиться в межах області.

Він вибирає все в області застосування, працює ідеально () або [] або {} повторюючи це розширює область застосування до його батьківського.

Я хочу досягти того ж з vim.

Відповіді:


22

Якщо ви мали на увазі, vimви можете зробити це за допомогою візуального режиму ( :help visual-mode) та текстових об’єктів ( :help text-objects).

Для вибору блоку з фігурним дужком виконайте: v+ a+ {, щоб вибрати блок, що повторюється, повторити a+ {. Зауважте, що ви можете вибрати лише вміст брекетів, використовуючи iзамість a.

Ці команди, як і багато інших у програмі vim, будуються дією, за якою слідує текстовий об'єкт, де текстовий об’єкт може бути заздалегідь визначений числом, щоб включити більше об'єктів, на які впливає дія. Таким чином , ви можете також видалити об'єкт, замінивши vна dабо виправити її cі т.д.

Є текстові об'єкти для багатьох інших речей , крім (), {}і [], наприклад:

  • a+ wозначає слово.
  • a+ sозначає речення.
  • a+ pозначає абзац.
  • a+ <означає <>блок.
  • a+ 'означає рядок з одним котируванням.
  • a+ "означає рядок з подвійним цитуванням.

Вас також може зацікавити плагін для об'ємного доступу, який дозволяє додавати / замінювати / видаляти навколишні символи або навіть теги.


Так, я мав на увазі vim. Дякую. чи є спосіб продовжувати розширювати його, наприклад, [[[event touchesForView: button] anyObject]якщо курсор знаходиться поблизу touchesForViewдії v+ a+ [вибирає, [event touchesForView: button]я хотів би розгорнути ще один рівень? тобто,[[[event touchesForView: button] anyObject]
palaniraja

3
@palaniraja: так, ви можете додати текстовий об'єкт числом, наприклад: v+ 2+ a+ [.
Тор

7

ВІМ-розширення-область плагін дозволяє розширити / зменшити візуально виділену область до (настроюється) набір текстових об'єктів. Тобто ви можете почати з вибору змінної, потім присвоєння, потім блокування, потім функціонування тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.