18

我正在寻找一种方法来绑定组合键(比如leader+p)以:set paste使用相同的组合键打开和关闭。

我知道我可以:set paste并且:set paste!可以将它们绑定到 2 个不同的键组合,但我希望进行切换。

4

4 回答 4

31

有一个特定的命令可以切换粘贴模式:

set pastetoggle=<F10>

例如将其设置为F10键。

编辑:要将其与领导密钥一起使用,您将使用

set pastetoggle=<leader>p
于 2012-12-20T07:45:15.807 回答
6

您可以使用pastetoggle粘贴切换。

set pastetoggle=<F3>
于 2012-12-20T07:44:16.410 回答
3

好吧pastetoggle,对我没用。

有效的是(在我的.vimrc 中):

" Invert paste when \p is pressed                                                                                                                                                                                                                                                     
:nnoremap <leader>p :set invpaste<CR> 
于 2017-10-16T10:51:18.047 回答
2

当心接受的答案!!!!

这个问题的公认答案导致了一个相当隐蔽的错误发生在以“空间”为他们的环境中<leader>


问题

假设我想复制以下文本:

Hello there people!

随着接受的配置set pastetoggle=<leader>p

我会看到以下内容:

Hello thereeople!

发生的事情是它吞没了,<space>p因为我的领导者恰好是空格键。

这不是“空间”的一个非常罕见的领导键,所以我想我会为那些试图弄清楚这种奇怪行为的人提及它!


更好的解决方案

https://stackoverflow.com/users/8783819/indrajeet-kumar建议执行以下操作就像一个魅力:

:nnoremap <leader>p :set invpaste<CR>


免责声明

我还没有被堆栈溢出接受到足以发表评论,所以请原谅我给出这个答案。如果有人可以将此作为评论粘贴到顶部帖子,我将非常感激!

于 2018-04-05T21:09:23.953 回答