Neovim / LazyVim
2026年8月6日lazyVim
最初にあるexample.luaを小分けにする場合、切り分けたxxx.luaは pluginsフォルダの中に置く。configフォルダに置いても読み込まれない。
新規プラグインや既存プラグインの設定変更はpluginsフォルダの中に置く。
lazyvimを放置している後に固まっている場合の対処 -> Ctrl + c 連打
放置後に補完が出なくなった場合 -> :e
数字 + j/k :数字分だけ上下に移動
()や{}の右側にカーソルを移動:
カーソルが中にある場合、Nモードに入ってからlで右に移動する必要はなく
)や `}' を打つと右側にカーソルが映る。mini.pairsプラグインの機能
Spaceキーを押した時にでるヘルプ画面みたいなもの:

^D / ^U scrollの意味
Ctrl + d/uでメニュー内をスクロールできる。
^はCtrlキーを意味するVimやLinuxの伝統的な書き方
色々
長いコードの折りたたみ(fold):
zaでトグル
検索
ファイル:
space f f (find files)
space s w (search word)
カーソル位置の単語から使われているファイルを検索
ファイル内の文字から検索:VSコードのCtrl + Shift + F
space s g (search grep)
space / も同じ動作
関数や変数:
space g d (go to definition)
定義元に移動
文字や単語
特定の文字まで操作:t (til) / f (find)
単体で使用すると特定の位置までカーソル移動
候補が複数ある場合t/fで候補間を移動
t/fはカーソル位置から→側に向かって、T/F は←に向かって特定の位置まで操作
複数文字の検索:sキー
複数候補がある場合、後方に移動用のアルファベットがラベルで付く。
flash.nvimの機能
*viewport外の候補には移動できない
-> /キー
スクロール外まで検索できるのでsキーを使わない場合
/word を入力したあとにNモードに入り、n(next)で候補間を移動
/キーを打たずに、vモードで単語を選択し *キーを押しても発動する。
nvimの標準機能
*置換

Nモードsr でウィンドウが開く
Replaceのinputが空なので置換先を入力
Nモードで \r で"一括"置換
space frで開いたデフォルトは開いたファイルの拡張子に該当する全ファイルに対して検索がかかる。
そのため \r ,\s を押すと事故につながる。
コマンド入力したファイル内だけ一括置換したい場合、Filterにファイル名を入れる、あるいはgitのような緑/赤のフィールドにカーソルを移動し、ピックしたい方にカーソルを合わせ \n で選択していく。
grug-far.nvimの機能
移動
特定の行や塊を移動させる:
alt j/k
塊の作成はVモードで a (around)
ファイル内の特定の文字に移動:
f / F (find) + 文字
見つかった最初の文字の上にNモードでカーソルがある状態になる。
export const Test = () => {
return (
<main className="">
<div> {getNum(1, 5)}</div>
</main>
);
};上記はf = だと3つ = があり、それぞれを移動するには ; 、戻るには ,
ペアへ移動:
%
{} や () 、タグの始まり・終わり間をワープ
スクロール:
Ctrl + d / u
画面半分 down / up
Ctrl + { / }
空行間をワープ
surround
mini.surroundというデフォルトで入っているプラグイン
ci (change inside) や da (delete around) はvim標準のコマンドで中身が消えるので、中身を残す操作をするコマンドにはgs(go surround)でつなげる。
gsa 囲む (add)
gsd 囲みを削除 (delete)
gsr 囲みを変更 (replace)例:
(props: Props){}で()の中身を囲う
gsai({ (go surround around inside )
{}で全体を囲いたい場合は gsaa({ (go surround add around )
大文字
下の行 / 上の行に実行:
o / O :空行の挿入
p / P:ペースト
Vモード:
Vだと行単位で選択される。
W / B:
w (word) / b (back)は大文字だとスペースや改行までを1つの塊とみなすようになる。
className="text-lg font-bold text-black"上記のfont-boldをdiwで消そうとしても - で止まりまとめて消せない為、diWで消す。
-(ハイフン)や.(ドット)はそれ自体が1つの単語扱い
ツリー
Space + eで開くツリーは snacks.nvimプラグイン
隠しファイルの表示:
H (Hidden files) で隠しファイルの表示(.npmrcなど)
I (Ignored files)で隠しファイルかつ .gitignoreされているファイルの表示 (.envなど)
ファイル、フォルダの移動:
Tabを押して、移動先にカーソルを移動したらm
開いたフォルダを一括で閉じる:
Zキー
タグ
複数タグを囲う:
<p>text</p>
<span>fsdfs</span>Vモードで複数行を選択してgsat
Nモードのgsaatt と違いat (around tag)が必要無いのは、複数選択しているので囲う範囲が決まっている為
ghostty
ターミナルを下・右に分割:
Ctrl + Shift + e / o
ターミナルを狭く:
Ctrl + Shift + Super (windowsマーク) + 矢印キー
矢印キーではなくhjklに変えたほうが良い。
ターミナル間の移動:
Ctrl + Shift + 矢印キー
同一ターミナル内の移動:
デフォルトはCtrl + Alt + 矢印キーだが、Ubuntuだとワークスペース間の移動に使われるので、Ctrl + Shift + hjkl 等に変更
縮小:
Ctrl + - で縮小 / Ctrl + 0 でリセット
Ubuntuでの設定例: config.ghostty
font-size = 13
cursor-style = block
cursor-style-blink = false
theme = One Dark Two
window-padding-x = 12
window-padding-y = 12
maximize = true
copy-on-select = clipboard
window-padding-color = extend
font-family = JetBrainsMono Nerd Font
# 同一ターミナル内の移動
keybind = ctrl+shift+h=goto_split:left
keybind = ctrl+shift+j=goto_split:bottom
keybind = ctrl+shift+k=goto_split:top
keybind = ctrl+shift+l=goto_split:right
# デフォルトのsplitのサイズ変更コマンドは ctrl+shift+super+up/down/left/right
keybind = ctrl+shift+super+h=resize_split:left,80
keybind = ctrl+shift+super+j=resize_split:down,80
keybind = ctrl+shift+super+k=resize_split:up,80
keybind = ctrl+shift+super+l=resize_split:right,80