代替コマンドの代替文字列で16進Unicodeエスケープを使用したい(たとえば、U + 20AC文字を使用)。
:s#something#\x{20AC}#g
上記の例は、代替文字列にPerl構文を使用しているため機能しませんが、Vimで動作したいと思っており、16進値(2または4)によって決まる他の多くの可能なUnicode文字でも機能したいと思います。数字以上)これはスクリプトによって生成された一連の代替ステートメントであるため、代替ステートメント自体は使いやすく、ASCIIにのみ設定したいと思います。正しい構文がなければならないと思いますが、見つかりません。 \ % u20ACは検索モードでは有効ですが、代替文字列では無効です。これは対話的には行われないため、CTRL-V + 4つの16進法は機能しません。
ベストアンサー1
:s#something#\=nr2char(0x20AC)#g
:help sub-replace-expression
Vimでと参照してください。:help nr2char()
または、20AC
実際に定数の場合は、次のように入力することができ:
s
#
something
#
<Ctrl-V>
u
20AC
#
g
<Enter>
ます。
:s#something#€#g
:help i_ctrl-v
Vimに何があるのか見てください。