解决 VIM 下 set past & set nopaste 困扰

更新日期: 2018-08-02 阅读次数: 18409 分类: 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 聊聊, 查看更多联系方式

谈笑风生

子昂

感谢分享!

Heng

感谢感谢  在快捷键里面没有找到F10的设置,原来是在general里面