解决 VIM 下 set past & set nopaste 困扰

更新日期: 2018-08-02 阅读次数: 9546 分类: 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 困扰

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

谈笑风生

子昂

感谢分享!

爱评论不评论

近期节日

2019年12月09日 "一二九"运动纪念日
2019年12月09日 世界足球日
2019年12月10日 世界人权日
2019年12月12日 西安事变纪念日
2019年12月13日 南京大屠杀
2019年12月20日 澳门回归日
2019年12月21日 国际篮球日
2019年12月22日 冬至
2019年12月24日 平安夜
2019年12月25日 圣诞节
查看更多节日