補完を閉じたいだけなのに入力中の文章が消えました。日本語を確定した後、改行しようとEnterを押すと候補が入ることもあります。一回ずつは小さなことでも、文章を書いている手が止まるのは嫌でした。
ほかにもIMEの切り替えと一時メモで引っかかりました。自分用の仕組みを足すことも考えましたが、キーを覚え直すだけで済んだものもあれば、設定を変えたものもあります。
Ctrl+uで文章が消えた。補完はCtrl+eで閉じる
文章を書いている途中に blink.cmp の候補が出ました。閉じようと思って、いつもの癖で Ctrl+u。入力中の行がカーソル位置から左側まで一瞬で消えました。
補完メニューを出している間、blink.cmp は Ctrl+u に何も割り当てていません。だからNeovim標準のインサートモード操作がそのまま動きます。Ctrl+u はカーソルより前の入力を消す操作でした。
最初は「補完を閉じるキーを自分で設定しよう」と考えました。でも、Vimには補完をキャンセルして入力へ戻る Ctrl+e があります。消してしまってもノーマルモードに戻って u で戻せます。
新しいキーマップを増やす代わりに、補完を閉じる時はCtrl+e、消えたらu。まずは自分の指のほうを直しました。
改行したいだけなのに、Enterで候補が入る
日本語の文末を変換して確定した直後、補完ポップアップが出ることがあります。そのままEnterを押すと、改行ではなく先頭の英単語やスニペットが入る。改行したいだけなのに、入力の流れが止まります。

私の設定では、Enterで候補を確定する blink.cmp のキー設定を使っていました。候補が自動選択されていると、Enterは改行ではなく確定に使われます。blink.cmp の既定では候補の事前選択と自動挿入が有効でした。
Enterの確定をやめる方法もありますが、私はポップアップが出ただけでは候補を選ばない設定にしました。lua/plugins/blink.lua にある既存のプラグイン指定で、次の opts コールバックを使っています。これはファイル全体ではなく、既存指定に置くコールバック全体です。
opts = function(_, opts)
opts.completion = opts.completion or {}
opts.completion.menu = opts.completion.menu or {}
opts.completion.menu.border = "rounded"
opts.completion.list = opts.completion.list or {}
opts.completion.list.selection = {
preselect = false,
auto_insert = false,
}
return opts
end,
候補を選ぶまでは、Enterが通常の改行に進みます。補完を使う時は矢印キーやCtrl+nで候補を選んでからEnter。私の日本語入力では、これで意図しない確定が起きなくなりました。
全画面のWezTermでIME状態が見えない
WezTermを全画面にするとタスクバーが見えず、右下の「あ」「A」でIMEの状態を確認できないことがありました。ノーマルモードで移動するつもりが「っj」と入る。英単語を打つつもりで漢字変換が始まる。目線がエディタから外れるたびに、集中も切れました。
lualineにIME状態を表示する案も考えました。WSL2からWindows側の zenhan.exe などを呼び出す方法です。ただ、カーソル移動やモード変更のたびに外部プロセスを動かす設定は増やしたくありませんでした。
そこで、状態を見分けるのをやめました。Microsoft IMEで、無変換キーをIMEオフ、変換キーをIMEオンに割り当てます。日本語を打つ時は変換、英数字やコードを書く時は無変換。Neovim側にはInsertLeaveで zenhan.exe 0 を実行し、ノーマルモードに戻る時に半角へ戻す設定も既にありました。
私の使い方では、これで画面のIME表示を見に行かずに入力できています。見て状態を当てるより、親指で状態を決めるほうが楽でした。
一時メモはLazyVimのスクラッチに置く
AIに渡すプロンプトや、ちょっとした整形用のテキストを書き、コピーしたら閉じたい。普通のファイルとして開くと、変更を保存していないため E37: No write since last change が出ます。毎回 :q! と打つのも面倒です。
強制終了のキーマップを作ろうかと思いましたが、LazyVimにはSnacksのスクラッチバッファがありました。<leader>. で開いて一時テキストを書き、コピー後は同じキーやqで閉じられます。保存確認は出ません。
ただし、内容が破棄されるわけではありません。Snacksはバッファを隠す時に自動保存し、既定ではNeovimのデータディレクトリ内の scratch に置きます。プロジェクトに一時ファイルを作らずに済むのが、私にはちょうどよいところでした。
4件とも、直し方は違った
Ctrl+uは標準キーを覚え、Enterの誤確定はblink.cmpの設定を変え、IMEはWindows側のキーを割り当て、使い捨てメモはLazyVimに任せました。
結局、設定も変えました。でも、毎回自作のキーマップや表示機能を足す必要はありませんでした。Ctrl+uで文章を消したのは設定の不具合ではなく、私が押すキーを間違えていたからです。
確認した公式情報
- Neovimのインサートモード操作
blink.cmpのキー設定と補完設定- LazyVimの補完設定とスクラッチ用キーマップ
- Snacksのスクラッチ仕様
公式情報は2026-09-27に確認し、公開前の2026-10-01にも再確認しました。

コメント