这种情况一直发生在我身上:我从富文本屏幕(通常是浏览器)复制一些内容然后将其粘贴到vim中。通常它是一个代码块,然后当我去编译或运行或者你有什么东西时,我得到了所有类型的集市错误。
我挠了头,然后花了半个小时试图弄清楚出了什么问题才意识到我已经复制了一些非ASCII字符:破折号,左右引号,长下划线,乘法符号代替x,等
所以我问你:如何在没有错误的情况下将非ASCII复制到我的VIM会话中?
是否有一种粘贴模式可以自动将'unample'取样'到ASCII?是否快速/脏搜索文件中的非ASCII字符?
更新:对于那些寻找类似解决方案的人,我找不到常用工具。但我确实找到了this SO question related to the same solution。
如果您是Vim用户,那么您很幸运:我编写了一个通用函数并将其作为名为vim-utf2ascii的插件发布到github。
答案 0 :(得分:2)
只需将Vim设置为使用UTF-8:
set termencoding=utf-8
set encoding=utf-8
还要确保复制真实代码:一些着名的博客系统喜欢将直引号转换为引号并对代码执行各种排版恐怖。为避免这种陷阱,请尽可能从源代码复制,或在某处寻找“原始”按钮。
答案 1 :(得分:2)
更新:对于那些寻找类似解决方案的人,我没有找到一个通用工具。但我确实找到了this SO question related to the same solution。
如果您是Vim用户,那么您很幸运:我已经编写了一个通用函数并将其作为名为vim-utf2ascii的插件发布到github。
答案 2 :(得分:1)
有一个名为demoronizer的脚本,可以(除其他外)用ASCII等价替换所有这些智能引号和连字符。 所以你可以通过它过滤你的文字。
答案 3 :(得分:0)
正如@Romaonl所说,首先设置termencoding并将编码设置为utf-8。
在浏览器中复制文本后,切换到vim并输入"+p