vimrc除了toggle:set paste

时间:2012-12-20 07:40:28

标签: vim paste

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

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

4 个答案:

答案 0 :(得分:31)

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

set pastetoggle=<F10>
例如,

将其设置为 F10 键。

修改: 要将其与leader键一起使用,您可以使用

set pastetoggle=<leader>p

答案 1 :(得分:6)

您可以使用pastetoggle进行粘贴切换。

set pastetoggle=<F3>

答案 2 :(得分:2)

pastetoggle对我不起作用。

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

" Invert paste when \p is pressed                                                                                                                                                                                                                                                     
:nnoremap <leader>p :set invpaste<CR> 

答案 3 :(得分:1)

谨防接受的答案!!!!

这个问题的公认答案导致一个相当阴险的错误发生在有空间&#34;作为他们的<leader>

问题

我们想说我想复制以下文字:

Hello there people!

使用set pastetoggle=<leader>p

的公认配置

我会看到以下内容:

Hello thereeople!

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

这不是一个非常罕见的领导关键&#34; space&#34;所以我想我会为那些试图弄清楚这种离奇行为的人提及它!

更好的解决方案

https://stackoverflow.com/users/8783819/indrajeet-kumar建议做以下工作就像魅力一样:

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

声明

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