2010-11-15 67 views
11

我的终端仿真器配置为Unicode字符编码和我的.vimrc包含行如何将非ASCII字符粘贴到vim中?

set encoding=utf-8 

但是当我尝试粘贴字“咖啡厅”到VIM,它出来作为“中央美术学院©”。

我可以按Ctrl-VU使VIM为“E”后面的4个字符的代码点(00e9),但我想它粘贴的能力。

+3

听起来像是不是真的UTF-8 – 2010-11-15 15:13:46

+1

我同意Pekka;您的系统的详细信息可能与此处有关。我可以粘贴那样的东西。 – Cascabel 2010-11-15 15:15:04

+1

可以将它粘贴到同一个终端而不运行vim,即它是否在(bash)提示符上正确显示? – catchmeifyoutry 2010-11-15 15:15:22

回答

12

解决方法是取消选中Terminal.app设置的高级选项卡中的“转义非ASCII输入”复选框。

+0

很高兴知道,你应该接受这个答案。 – 2011-08-12 18:20:43

1
  1. 从哪里你试图粘贴它?如果是opera,那么opera-10.5 * paste会在两个方向中断。在粘贴任何东西之前,您需要使用xclip -o|xclip -i解决方法(为剪贴板添加-sel clip)。
  2. 你使用什么命令?
+0

我试图在我的Mac上使用Command-V将我的粘贴板中的文本粘贴到vim中。 – sferik 2010-11-16 00:55:30

1

您可以使用vim的digraph功能将它添加到文件中,而不是将它复制到剪贴板并粘贴到文本编辑器中。

因此,使用默认设置,使用您的示例,您可以进入插入模式,然后按下Control-k并键入e'。结果将是é。

您可以通过运行

见定义有向图的列表:有向图

和一般帮助运行

:帮助有向图

这也解释了如何自定义映射。

如果您真的设置了粘贴字符,Shift-Insert一直为我工作。

+0

有关如何在苹果键盘(没有插入键)上做Shift-Insert的任何提示? – sferik 2010-11-15 19:54:36

1

如何输入一个非ASCII码到六

你必须知道你的编码输入正确的代码是什么,我想你保留在默认的VI。

在第VI,进入插入模式,而在插入模式中,按

CTRL-V 172

这应该插入逻辑NOT(侧身和倒L)字符定义这里:

http://www.htmlhelp.com/reference/charset/iso160-191.html