Как заставить VIM показывать закрытые скобки?


9

Есть ли способ, которым я могу изменить свой файл .vimrc, чтобы выделить незакрытые скобки / скобки / фигурные скобки? Например, следующее будет выделять скобки после слова main:

public static void main(String[] args
{
    System.out.println("Foobar");
}

Или, может быть, VIM как-то сказать мне, что у меня есть закрытые скобки. Оказывается , что VIM в настоящее время показывает , когда у вас есть нераскрытая скобка , но не тогда , когда у вас есть незаконченные один.


Это было бы неплохо, хотя я сомневаюсь, что мы увидим решение, так как по умолчанию будет то же самое при следующем закрытии, поэтому пропущенный после String [] будет считаться последующим, поскольку VIM не знает, что это не аргумент.
nerdwaller

Ответы:


2

Существует плагин для Vim, чтобы сделать это. Учитывая это ваш пример кода:

public static void main(String[] args
{
    System.out.println("Foobar");
}

Куда бы вы ни поместили курсор, подсвеченные скобки, расположенные ближе всего к спине, будут подсвечены. Единственный недостаток в том, что он не смотрит в будущее, чтобы увидеть, будет ли оно найдено позже. Так что, если вы были в круглых скобках, выделите открывающую. Это в основном функционально и должно служить вам хорошо.

Он называется vim-matchopen и его можно найти по адресу https://github.com/arnar/vim-matchopen.


Если у вас не было опыта установки плагинов vim, вот краткое введение для этого. (Я предполагаю, что вы используете Linux.)

Перейти на сайт загрузки. Если у вас есть git и вы знаете, как его использовать, продолжайте. Если нет, то используйте кнопку загрузки zip и извлеките загруженный zip в какое-то временное место назначения.

Далее нужно взять скрипт plugin/matchopen.vimи поместить его в каталог ~/.vim/plugin. Если этот каталог не существует, создайте его.

Это должно быть так. Тогда вы будете работать. Просто перезапустите vim.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.