Удалите пару круглых скобок, скобок или фигурных скобок в Vim

В Vim, если у меня есть код такой как (в Ruby):

anArray << [anElement]

и мой курсор находится на первом [, Я могу скачкообразно двинуться к ] с % ключ, и я могу удалить все содержание между [] пара с d%, но что, если я просто хочу удалить [ и ] отъезд всего остающегося содержания между двумя. Другими словами, что является самым быстрым способом добраться до:

anArray << anElement
50
задан ib. 17 January 2013 в 09:32
поделиться

3 ответа

Используя Surround.vim плагин для Vim:

http://www.vim.org/scripts/script.php?script_id=1697

...можно устранить окружающие разделители с помощью ds<делиметра>.

Установка с помощью плагина Vundler:

Добавьте:

Plugin 'tpope/vim-surround' 

в ваш .vimrc файл и запустите :PluginInstall

55
ответ дан 7 November 2019 в 10:31
поделиться

ma% x`ax (Отметьте положение в регистре A , Перейти к соответствию Paren, удалить Char, перейти к Mark A , Удалить CHAR).

Редактировать:

% X` ...X делает то же самое (благодаря ALOK для наконечника)

52
ответ дан 7 November 2019 в 10:31
поделиться

Другие ответы работают нормально, если вы хотите удалять разделители по одной строке за раз.

Если, с другой стороны, вы хотите удалить функцию и ее разделители из всего файла, используйте:

:%s/function(\(.*\))/\1/g

, который заменяет функцию (аргументы) на аргументы везде в файле. .

3
ответ дан 7 November 2019 в 10:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: