uim-fepもしくはvimのバグ 256色のcolorschemeで点滅する日本語とNeoVimへの移行
長らく更新していなかった。
時々,
- uim-fepとuim-anthyの使い方と設定方法
- fbtermの日本語表示.uim-fepとuim-anthyで日本語入力も.ついでに,vimの256色化も
- w3m(w3m-img)をfbterm対応にして,インライン画像表示.ついでにrangerのサムネイルも
この辺の記事をいいねしてくれる人がいる.
こんなマニアックなものを見てくれるとはうれしい.
今回はそんなマニアックなお話の続き.
環境
- ArchLinux
- st
- uim
- i3-wm (dwmから乗り換え)
(´・ω・) < そもそもなんでこんな問題発生するのか...
(´・ω・) <st(simple terminal)を使っているから
(´・ω・ ) < すごくいい端末エミュレータなんだけど....fcitxとかuim-ximが使えないのよ
(´・ω・) <この 辺話や環境についてはまた別の記事で
前提条件であるst上での日本語の入力(uim-fep)
なんだかんだでuim-ximとかfcitxを使ってX上で日本語入力をしていたが,
(´・ω・) が愛する端末エミュレータstではうまく動いてくれない.
なんと,入力した文字がウィンドウの真下に現れるのだ.
そして,エンターを押して決定するとピョコンと瞬間移動して,文字が入力される.
基本フルスクリーンなのにそんな文字が見えるとでも?
さらに悪いことに,長文を打ってエンターを押すと文字化け(おそらく制御文字として入力される)し,ものの見事に画面をぐちゃぐちゃにしてくれる.
(´・ω・) < 使い辛くてしかたがない
というわけで,普段のX上ではuim-ximを使い,stではuim-fepを使うようにしたかった.
( ちなみにstは公式ではXIMをサポートしているらしいのだが...
suckless.org st - simple terminal)
そこで,~/.xprofile
には,次のように書く.
ポイントはuim-xim&
を外しておくことだ.
そうしないと,st上でもuim-ximが動いてしまう.
export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
#uim-xim&
export XMODIFIERS='@im=uim'
xtermとかurxvtだと普通にfcitxやuim-ximが使えるのだろうか?
日本語が点滅する
そして,上のように設定した上でstを起動し,
(´・ω・)< uim-fep
ッターン
と気持ちよく叩き,いそいそとvimを立ち上げる(´・ω・)i
を打ちctrl + space
で日本語に切り替えカチャカチャと文字を打ちEnterを叩く(´・ω・)
そしてその顔がこうなる
( д) ゚ ゚
なんと,入力した文字が点滅し始めているではないか.
xtermやurxvtでuim-fepしても同じような事が起こる.
なのにどこにも情報が乗っていない!!!
\(^o^)/ < オワタ
で諦められるかい,
というわけで色々原因やらを調べてみた.
わかったこと
- vimで256色のcolorschemeを使った場合のみ発生する
- molokaiとかgruvboxとかはアウト
- 標準colorschemeだと大丈夫
TERM=xterm
TERM=screen
だとmolokaiやgruvboxでも大丈夫(色はあれだが)TERM=st-256color
TERM=xterm-256color
TERM=screen-256color
だとアウト
- たまにvimを終了しても点滅が残り,bash(uim-fep)まで点滅を始める
- exitでuim-fepを終了すると大丈夫
- uim-fepのオプションによる微妙な違い(オプションが何を意味するかは割愛)
uim-fep -sl
だと,最初っから点滅している.uim-fep -sn
だと,日本語を入力してEnterを押すと入力した文字が点滅- この点滅は
ctrl + L
でフラッシュするとなくなる
- この点滅は
以上の事から,uim-fepとvimどっちかが悪いか,どっちも悪いかであるが,確信もないし,yay -G uim
で引っ張ってきたコードは最初からmakepkg
でコンパイルが通らないし...
でもまあ,uim-fepとvimの相性が悪いなら別のものを...
(´・ω・)< vi... いや NeoVimとかあったな.
vimからNeoVimへ
vimの代わりにNeoVimを入れた結果,まだたまに文字が点滅するが,vimに比べれば格段にまし.
設定ファイルの場所が変わるけど,ln -s
で張り直してやれば今までのままでも使える.
ただし,viminfoはフォーマットに互換性がないみたい.(よく調べていないが)
(´・ω・) <このついでにNeoVimに移行しちゃおっか.
というわけで,vim使いからNeoVim使いになりました.
NeoVimへの文句
NeoVimでこの記事を書いているんだけど,顔文字の表示がおかしい
set ambiwidth=double
の設定をしているんだけど眉毛と目がうまく表示されず,妙につまっている.
さらに,カーソルの下の文字と実際に操作している文字がずれているせいで,
まったく思い通りに文字が打てない.
vimだと綺麗に写ったのにね.NeoVimだと設定の書き方が違うのかな?
これが今の不満.
(´・ω・)