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

时间:2018-08-14 19:24:55

标签: vim vim-plugin multiple-cursor

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

one
two
three
four

如果我使用命令突出显示该块

vip <ctrl-n> I "

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

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

当您使用vim-multiple游标时,是否可以自动关闭自动配对?

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++'

2 个答案:

答案 0 :(得分:2)

自动配对具有称为let values = getValues(); first = values.first; second = values.second; 的功能,您需要在进入多光标模式和离开多光标模式之后调用此功能。

vim-multi-cursors provides you,具有解决插件交互的方法:定义前后钩子:

AutoPairsToggle()

将其放入您的function! Multiple_cursors_before() call AutoPairsToggle() endfun function! Multiple_cursors_after() call AutoPairsToggle() endfun 中,该问题将不再发生。

答案 1 :(得分:1)

在其帮助系统上,自动配对显示:

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

因此,在键入内容之前,请按 Alt p