18

我正在寻找一个插件,当你在它们里面时,它可以让你摆脱括号/括号/引号/等。我发现在插入模式下必须 ESC 到命令模式并键入 A 以跳出括号以转到行尾有点困难,是否有满足我需求的插件?

4

5 回答 5

25

一个插件将是矫枉过正。将此映射添加到您的~/.vimrc

inoremap <C-e> <C-o>A
  • <C-o>用于在不离开插入模式的情况下发出正常模式命令。
  • A,嗯……你知道它的作用。
于 2012-06-14T17:03:12.957 回答
5

如果您安装delimitMate 插件<S-e>,您可以使用or<C-g>g映射来实现此目的。

于 2012-06-14T20:31:23.157 回答
3

我习惯于Tab跳出括号、花括号等内容,所以我只是对Shift+做了一个简单的映射,Tab它只是将字符 1 字符从 INSERT 模式向右移动。这是我的简单映射,对于我的目的来说似乎很好。

inoremap <S-Tab> <esc>la

编辑:似乎 delimitMate 具有相同的映射 ( Shift+ Tab) 用于跳过结束分隔符。我想我会使用它,因为我已经使用了 delimitMate。

于 2015-09-21T01:59:38.707 回答
2

由于我使用自动配对插件,因此我更改了其默认g:AutoPairsShortcutJump选项

" Jump outside '"({
if !exists('g:AutoPairsShortcutJump')
  let g:AutoPairsShortcutJump = '<C-l>'
endif

现在不仅可以轻松跳出对外,还可以轻松插入它们。

于 2018-02-15T09:57:41.430 回答
0

我重新映射alt-h,j,k,l以移动光标而无需使用箭头键。所以它只是<m-l>跳过一个括号。我也有<C-a>and<C-e>去行首和行尾,并且<C-h>向左<C-l>或向右跳一个单词:

"  alt-h,j,k,l  move cursor left,down,up,right
inoremap <m-h> <Left>
inoremap <m-j> <Down>
inoremap <m-k> <Up>
inoremap <m-l> <Right>
"  ^a and ^e move cursor to begin and end of line
inoremap <C-a> <C-o>I
inoremap <C-e> <C-o>A
"  ^h and ^l move cursor 1 word left and right
inoremap <C-h> <C-o>b
inoremap <C-l> <Esc>ea
于 2021-02-06T16:54:05.903 回答