在 vim 中使用多个光标时禁用自动配对

Disable auto-pair when using multiple cursors in vim

我正在使用 vim 插件 vim-多光标和自动配对。例如,如果我正在编辑一段文本:

one
two
three
four

如果我使用命令

突出显示块
vip <ctrl-n> I "

这将在前面创建两个括号,因为自动配对处于活动状态。

""one
""two
""three
""four 

有没有办法在您使用 vim-多个光标时自动关闭自动配对?

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

""""""""" PLUGIN LIST STARTS HERE """"""""""""""""""""
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/syntastic'
Plugin 'jiangmiao/auto-pairs'
Plugin 'tpope/vim-surround'
Plugin 'ervandew/supertab'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'tpope/vim-repeat'
Plugin 'scrooloose/nerdtree'
""""""""" PLUGIN LIST END HERE """"""""""""""""""""
call vundle#end()            " required
filetype plugin indent on    " requiredntax on

syntax on
set tabstop=4
set number
set smartindent
set shiftwidth=4
set mouse=a
set backspace=indent,eol,start

let &t_SI.="\e[5 q"
let &t_SR.="\e[4 q"
let &t_EI.="\e[1 q"

let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
map <F5> :NERDTreeToggle<CR>

let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'

Autopairs 有一个名为 AutoPairsToggle() 的函数,您需要在进入多游标模式之前和离开之后调用该函数。

vim-multiple-cursors provides you 具有解决插件交互的方法:定义一个 pre 和 post 钩子:

function! Multiple_cursors_before()
  call AutoPairsToggle()
endfun

function! Multiple_cursors_after()
  call AutoPairsToggle()
endfun

将这些放入您的 .vimrc 中,问题应该不会再出现了。

在其帮助系统自动配对中说:

    <M-p>: Toggle Autopairs (g:AutoPairsShortcutToggle)

因此,在输入内容之前,请按 Altp