💨
【Vim】Unicodeをコードポイントから入力する
Vimの入力モードでは<C-v>
を利用することで<ESC>
等の制御文字を直接入力することができます。
これは、Makefileなどを記述する際に設定に関係なくTab文字を入力するなどの使い方ができます。
同じく<C-v>
では直接文字コードの入力が可能です。:h i_CTRL_V_digit
例えば<C-v>u3042
と入力すると、ひらがなの「あ」が入力されます。
この方法はわかりやすいですが、入力中の文字が見えない欠点があります。
これを改善するために以下のマップを利用できます。
inoremap <C-v>u <C-r>=nr2char(0x)<Left>
<C-r>=
は直後に続くVim scriptの式を評価し、結果を挿入します。ne2char()
はコードポイントを引数に取り、文字を返しますので同等の入力をわかりやすく利用できます。
元となった投稿: Vim-jp Slack @monaqa
@monaqa
mattn さんのコメントを聞いてinoremap <C-v>u <C-r>=nr2char(0x)<Left>
とやってみたら便利になるかも、とふと思った
まとめ kato-k
Discussion