2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac で Vim の日本語入力(Linux併用)

Posted at

Mac で Vim を使う際に、日本語入力をスムーズに行うにはどうすればよいか?

Vim の日本語入力には、大きく分けて 2 つの方法 があります。

  1. Mac の IME(Google 日本語入力など)を利用する
  2. Linux 風に Vim 内部で日本語を処理する(fcitx, ibus など)

それぞれのメリット・デメリットを比較し、どちらを選ぶべきか。。

要約

Mac の IME をそのまま使うのが簡単でおすすめ!
Vim を本格的に使うなら fcitx-remote で IME の自動切り替えを設定!
Linux でも Vim を使うなら fcitx, ibus などを活用すると快適!

結論: Mac の IME を使いつつ ターミナルの中で、fcitx-remote を活用?!


1. Mac の IME を使う

特徴

  • macOS の IME(標準日本語入力 or Google 日本語入力)をそのまま使用
  • ia で挿入モードに入ると IME が有効になる
  • 特に追加設定が不要

メリット

設定不要で簡単

  • そのまま使えるので、特別な環境構築が不要

Google 日本語入力の高精度な変換を使える

  • 予測変換や辞書機能が利用可能

システム全体で統一感がある

  • Vim 以外のアプリでも同じ IME を使える

デメリット

Vim との相性が悪いことがある

  • Esc を押したときに未確定文字が残ることがある
  • IME の切り替え遅延が発生することがある

キーバインドとの競合

  • Ctrl + P(補完)や Ctrl + N(候補選択)が IME のショートカットと衝突することがある

改善策(設定)

1. set iminsert=2 で IME の挙動を改善

Vim の .vimrc に以下を追加:

set iminsert=2
set imsearch=2

2. imdisable でノーマルモード時の IME を自動オフ

set imdisable

3. fcitx-remote で Esc を押すと IME を英語に戻す

Google 日本語入力や fcitx を使っている場合、IME をオフにする:

autocmd InsertLeave * :silent !fcitx-remote -c

2. Linux 風に Vim 内部で日本語を処理する

特徴

  • fcitx, ibus, uim などを使用
  • Vim 内で IME を制御できる
  • IME の影響を最小限に抑えられる

メリット

Vim のキーバインドを維持しやすい

  • Ctrl + P/N の補完機能がスムーズに動作する

IME の干渉を防げる

  • Esc を押したときに遅延が発生しない

Linux 環境と統一可能

  • Mac 以外でも共通の環境を作れる

デメリット

Mac では環境構築が必要

  • fcitx などの Linux 向けツールを Mac に導入する必要がある

セットアップが面倒

  • .vimrc のカスタマイズが必要

設定方法

Mac で fcitx を使う場合:

brew install fcitx

Vim の .vimrcfcitx との連携を設定:

autocmd InsertLeave * :silent !fcitx-remote -c

これで Esc を押したときに自動で IME がオフになる。


結論: どちらを選ぶべきか?

方法 便利さ 設定の簡単さ Vim との相性 おすすめ度
Mac の IME を使う ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ✅✅✅✅
Linux 風の IME (fcitx など) ⭐⭐⭐ ⭐⭐⭐⭐⭐ ✅✅

どちらを選ぶべきか?

Mac の IME(Google 日本語入力など)を使うのが最も簡単で一般的
Vim の操作性を最適化したいなら fcitx-remote で IME の自動切り替えを設定するのが理想
Linux でも Vim を使うなら fcitx, ibus などを設定すると快適


おすすめの設定(Mac で IME を快適に使う Vim 設定)

Vim の .vimrc に以下を追加:

set iminsert=2
set imsearch=2
set imdisable
autocmd InsertLeave * :silent !fcitx-remote -c

キーバインドで IME 切り替え

nnoremap <silent> <C-j> :!fcitx-remote -o<CR>
nnoremap <silent> <C-k> :!fcitx-remote -c<CR>
  • Ctrl + J で日本語 ON
  • Ctrl + K で日本語 OFF

まとめ(2回目)

Mac の IME をそのまま使うのが簡単でおすすめ!
Vim を本格的に使うなら fcitx-remote で IME の自動切り替えを設定!
Linux でも Vim を使うなら fcitx, ibus などを活用すると快適!

結論: Mac の IME を使いつつ ターミナルの中で、fcitx-remote を活用?!

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?