vimを閉じたときにq:
とタイプして「何か開いちゃったあわあわ」となったことはありませんか?
Vimを使い始めたころはよく間違って開いてしまうことが多かったです。
基本
基本的にできることは、ウィンドウ上でコマンドと検索の履歴閲覧と編集、再実行です。
再度実行したいコマンド(検索)にカーソルを乗せてエンターを押すことで再実行することができます。
開き方
冒頭でも書きましたが、q:
で開くことができますが、
他にも以下で開くことができます。
/ の検索履歴 |
? の検索履歴 |
コマンド入力中に開く |
---|---|---|
/q |
?q |
Ctrl-f |
閉じ方
名前の通り、Vimのwindowで開いています。
なのでノーマルモードで:q
を使うことで閉じれます。
(インサートモードの際はノーマルモードに切り替えてから)
できること
基本的にはwindowで開いているだけなので、
Vimの編集で使える機能は使うことができます。
(これをあまり分かっていなかった僕は上下に移動してエンターを押すだけでした)
検索
window上で検索ができます。
以前のコマンドを実行したいときに便利です。
そこまで使う頻度は無いですが、
Vimの正規表現も使って検索ができるのでまれに輝きます。
編集
オペレータを使って編集や置換もできます。
コマンドライン上で編集するよりも慣れているはずですし、便利なので
一度実行したコマンドを編集して再実行するときはCommand-line windowを使うようになりました。
おまけ
冒頭のように間違えて開くのが嫌な僕は、以下のようにキーバインドを消しています。
vim.keymap.set("n", "q:", "<Nop>", { noremap = true, silent = true })
vim.keymap.set("n", "q/", "<Nop>", { noremap = true, silent = true })
vim.keymap.set("n", "q?", "<Nop>", { noremap = true, silent = true })
加えて、:
や/
を使ったときに常にコマンドラインウィンドウを開いています。
コマンドラインでVimのような操作ができないことに辛い思いをしている方は、以下の設定をおすすめしたいです。
vim.keymap.set("n", ":", "q:i", { noremap = true, silent = true })
vim.keymap.set("n", "q/", "q/i", { noremap = true, silent = true })
おわりに
いかがでしたでしょうか。
慣れてくると使い勝手が良くなってくると思います。
読んでいただきありがとうございます。