2012-08-27 75 views
3

这一直发生在我身上:我从富文本屏幕(通常是浏览器)复制东西,然后将其粘贴到vim中。通常它是一个代码块,然后当我去编译或运行,或者你有什么我得到各种集市错误。如何从浏览器复制并粘贴到没有unicode问题的vim

我抓住了我的脑袋,然后花了半个小时试图弄清楚什么是错误的,然后才意识到我已经复制了一些非ASCII字符:破折号,左右引号,长下划线,乘号以代替x的符号等

所以我问你:如何将非ASCII码复制到我的VIM会话没有错误?

是否存在一个粘贴模式,可以自动将Unicode样本降序为ASCII?在文件中是否存在快速/脏的搜索非ASCII字符?


更新:对于那些寻找一个类似的解决方案,我没有找到的常用工具。但我确实发现了this SO question related to the same solution

如果你是Vim的用户,你很幸运:我已经写了一个通用函数,并将它作为一个名为vim-utf2ascii的插件发布到github上。

回答

2

只安装了Vim,UTF-8的工作:

set termencoding=utf-8 
set encoding=utf-8 

还要确保您要复制真正的代码:一些著名的博客系统,喜欢直引号转换为弯引号,做各类印刷恐怖来码。为了避免这种陷阱,尽可能从源代码复制,或在某处寻找“原始”按钮。

+0

好的指针,谢谢。 – dsummersl

1

有一个叫做demoronizer的脚本,它可以(除其他之外)用ASCII等价物替换所有这些智能引号和连字符。 所以你可以通过它过滤你的文字。

+0

啊,也许这就是我要找的。我会检查出来的。 – dsummersl

0

由于@Romaonl表示首先设置termencoding并将编码设置为utf-8。

后复制在浏览器中的文本,切换到vim和进入"+p