qterminalについては、先日、日本語(を含む全角文字)の表示について、
記事を書いたところですが、今回はVimなどの動かす場合などに使えそうな小技について書きたいと思います。
全角記号の表示
いわゆる、漢字・かなについては、きれいに表示されるのですが、「★」や「※」などのいわゆる全角記号は半角文字と認識されているので表示がくずれます。通常の端末として使用する分にはあまり問題がない(ファイル名にこれらの記号を含むことが無い限り)のですが、Vimを動かしてテキストファイルを編集する場合は少し困ります。
文字の表示幅を決めているのがqtermwidgetというパッケージの中の、lib/konsole_wcwidth.cppというファイルになります。
この記事を参照にして、
こんな感じで表示したい文字のコードを追加します。なお、各文字のユニコードは
こちらのサイトで調べることができます。ファイルの修正後、ビルドします(ビルドの方法はAURでPKGBUILDを見れば良いと思います)。
コマンドラインでの、これらの文字の入力については、まだ不具合がありますが、これは別に良いでしょう。
なお、Vim(Neovim)上で、これらの文字を全角として扱うために、.vimrc(Neovimの場合~/.config/nvim/init.vim)に以下の行を追加します。
set ambiwidth=double
256色環境への設定
Vimには、様々なcolor schemeがありますが、color schemeを反映させるためには、環境変数TERMを(例えば xterm-256color といった)多色対応のものに変更する必要があります。私の環境ではTERMのデフォルトの値がxtermになっていたので、.bashrcに以下の行を加えました。
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
PR