LoginSignup
3
1

More than 5 years have passed since last update.

uim-fepもしくはvimのバグ 256色のcolorschemeで点滅する日本語とNeoVimへの移行

Last updated at Posted at 2018-12-07

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が動いてしまう.

~/.xprofile

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=xtermTERM=screenだとmolokaiやgruvboxでも大丈夫(色はあれだが)
    • TERM=st-256colorTERM=xterm-256colorTERM=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だと設定の書き方が違うのかな?
これが今の不満.

(´・ω・)

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1