Как вставить соответствующую скобку в vim ВРУЧНУЮ?

В моем буфере есть текст

[{(lorem) ipsum <cursor here>

Как я могу вставить закрывающую скобку }, затем введите что-то, а затем вставьте ] сопоставление с открывающими скобками { а также [

Позвольте мне объяснить, зачем мне это нужно.

Например, я должен напечатать javascript код (потому что coffee машина вышла из строя на данный момент)

$(document).ready(function(){
  var classA = (function(){
     function classA(){}
     <100 lines of code here>
     return classA;
  -->oh, which closing brace should I insert here....!

Другой случай

[theWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", HostName, @"some/path/here"]] -> huh, what next? How many closing braces am I missing?

И почему я уточняю ВРУЧНУЮ в названии вопроса. Потому что есть некоторые ключевые привязки к automatically вставить закрывающие скобки. Например in ( ()<Left>, Однако я хочу вставить закрывающую скобку только тогда, когда мне нужно.

Я знаю, что есть i_<C-x>_<C-o> вставить закрывающий xml тег. Но я не знаю, как бороться с этими.

Заранее спасибо.

1 ответ

Решение

Наконец, я придумала этот плагин vim-close-pair.

Просто введите <Ctrl-L> (режим вставки), он автоматически найдет и вставит недостающую скобку.

  • Установить с Vundle:

    • присоединять Plugin 'nissasssin17/vim-close-pair на ваш .vimrc файл
    • Перезапустите vim или запустите :source ~/.vimrc
    • Бежать :PluginInstall
  • Ручная установка:

    git checkout https://github.com/nissassin17/vim-close-pair.git
    cd vim-close-pair
    mkdir -p ~/.vim/plugin
    cp -f plugin/close-pair.vim ~/.vim/plugin/
    mkdir -p ~/.vim/autoload
    cp -f autoload/close-pair.vim ~/.vim/autoload/
    
Другие вопросы по тегам