2011-03-03 871 views

回答

2

使用您的终端的机制,通过Unicode codepoint输入字符。在侏儒-终端的情况下,这是Ctrl键移位ü随后的十六进制代码(例如200e),然后输入

+0

有趣的是,我不知道这 – Dan 2011-03-03 15:23:03

3

尝试更换\u200e :)

您可以测试这个工程通过插入字符到您的缓冲区,而当看到它,如果你在插入模式下键入此显示为<200e>,:<C-R>="\u200e"<CR>(这是CTRL + R和<CR>手段ENTER)

7

首先,如果你要替换字节为0x20(它是空间,如果我没有弄错),你需要使用\%x20,不\x20因为\x指定一个十六进制数字(除非内部使用收集,有\x20意味着什么预期)。但是如果你想替换给定的Unicode字符,你应该使用\%u200E\u200E在一个集合中)。

其次,\%x20[\x20]都将字符与unicode代码0x20匹配,而不是字节代码0x20。它对空间无关紧要,但对代码点> 0x7F有所不同。

2

我会将光标放在蓝色<200e>上,然后输入yl以复制(复制)字符。

然后,类型:%s/<C-R>"/replacement/g

(其中<C-R>Control+R,当然)。

+0

另外,由于我们已经知道所需的代码点,所以可以通过使用' u200e'来插入字符而不用延长。请参阅[':help i_CTRL-V_digit'](http://vimdoc.sourceforge.net/htmldoc/insert.html#i_CTRL-V_digit)。 – 2013-12-20 07:06:16