当vim处于粘贴模式时,需要关闭它。

3

标题已经说得很清楚了,需要补充的是我同时设置了三种模式。 在.vimrc中加入以下内容:

map <F11> :set paste! number! rnu! paste?<CR>

但是它只适用于正常模式。添加imap <F11> <Esc><F11>i<CR>并没有什么帮助,因为它只能打开这个设置,但不能关闭它,而且你还会失去自动返回替换模式的能力(如果打开的话)。使用pastetoggle=<F11>也不行,因为我还需要设置其他东西。 另外一个问题:由于map在插入/替换模式下不触发,它和nmap的作用是否相同?


你想从编辑器或.vimrc文件中打开它吗?如果是从编辑器,请尝试使用:set nopaste命令。 - OriolAbril
我需要便利。我需要将一个键映射到它上面,以便在飞行中切换,所以是 .vimrc ,而不是编辑器。 - GGets
1
你可能会对 https://github.com/tpope/vim-unimpaired 感兴趣 - 特别是 yoyO 快捷键,它们可以在进入插入模式时打开粘贴模式,在退出插入模式时关闭粘贴模式。 - SpoonMeiser
你想实现什么? - dlmeetei
@dlmeetei 我正在尝试将一个键映射为切换 pastenumberrnu - GGets
在正常模式和插入模式下都可以吗? - dlmeetei
1个回答

3
以下的.vimrc组合可以实现此功能: set number rnu pastetoggle=<F11> nmap <F11> :set paste! number! rnu! paste?<CR> imap <F11> <C-o>:set paste! number! rnu! paste?<CR> 奇怪的是,在正常模式下它不会双重切换。
一个小细节是,当在插入模式下使用F11切换粘贴时,您正在循环3种模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接