解决 VIM 下 set past & set nopaste 困扰

更新日期: 2018-08-02 阅读次数: 4729 分类: Vim

做为 ctrl-c ctrl-v 工程师,恰好又是 VIM 党,最痛苦的莫过于,在 paste 与 nopaste 之间来回切换。

特别是在写页面的时候,需要经常 copy HTML 代码,set 操作极大地影响到了编写代码的效率。还是得绑定个快捷键为好。

:help paste

会看到 vim 帮助文档里就有一个不错的解决方案,在 vimrc 里加入如下配置

map <F9> :set paste<CR>
map <F10> :set nopaste<CR>
imap <F9> <C-O>:set paste<CR>
imap <F10> <nop>
set pastetoggle=<F10>

文档里使用的 F10, F11 被我替换成了 F9, F10, 原因是在 Ubuntu 下 F10 是终端的全屏快捷键 (Ubuntu 18.04 需要特殊处理,参考下方说明)。不知道在 Mac 上是否有影响,回去测试一下。

paste nopaste

Mac 上的切换快捷键

Mac 上如果要沿用之前在 Ubuntu 上配置的 F9, F10 快捷键,就需要结合 fn 键使用。

fn 键,即 function 键

所以,对应的快捷键为

fn + F9
fn + F10

Ubuntu 18.04 对应的修改

因为 Ubuntu 18.04 下,默认 F10 是 terminal 的快捷键,所以需要先禁用掉 F10 的快捷功能。

解决 VIM 下 set past & set nopaste 困扰

谈笑风生

子昂

感谢分享!

爱评论不评论

近期节日

2018年09月22日 世界无车日
2018年09月23日 秋分
2018年09月23日 国际聋人节
2018年09月24日 中秋节
2018年09月27日 世界旅游日
2018年10月01日 国庆节
2018年10月04日 世界动物日
2018年10月08日 寒露
2018年10月09日 世界邮政日
2018年10月10日 辛亥革命纪念日
2018年10月13日 中国少年先锋队诞辰日
2018年10月14日 世界标准日
查看更多节日