20250511104639 vscode neovim

neovimvscode

vscodeがなぜか重い。vscode neovimにしたら軽くなった。謎。 せっかくなので neovimを覚えてみながら使ってみている。

Neovimをはじめよう feat. mini.nvim

  • <c-f> 次のページ

  • <c-b> 前のページ

  • <c-d> 半ページ進む

  • <c-u> 半ページ戻る

  • <c-o> さっきいた場所へ戻る (さっきいた場所ってどこだろう、どうやって履歴が管理されているのだろう)

  • <c-i> 戻るのをやめる

  • . 直前のコマンドのくりかえし(文字編集とかもコマンド扱いに含まれる)

tutor

  • u undo

    • vimにおけるundoの概念は一般より広め。 「挿入モード編集してESC押すまでの一連の操作」がundoされる。こちらの方が範囲が一意で、わかりやすいかもしれない。
  • U 1行におこなった変更を全部戻す

  • A 行末に追加

  • dw 単語を削除

  • d$ 行末まで消す

  • dd 行全体を削除

  • $、 eなどを押すとカーソルが移動する。

  • <c-r> コマンドのくりかえし

  • c change ce だと単語を消す $ だと1行全部

  • gg ファイルの先頭

  • G ファイルの末尾

  • [行番号の数字]G 行へ移動

  • / 検索

    • n 次 emacsの C-s
    • N 前 emacsの M-s
  • o カーソルの次の行に挿入

  • 置換

  • 前のコマンドを呼びだす : ↑

  • init.luaのリロード

    • init.luaを開いておいて :source

やりたい:

  • 矩形編集 vscodeでやってしまえばよい
    • neovimでやる場合
      • insert
        • カーソルを挿入したい行の箇所へ移動
        • ctrl+b で VISUAL BLOCK に入り
        • カーソルを下に動かして範囲をして
        • I(= shift + i) で 矩形INSERTモードに入り
        • 字を打つ(1行目しか変更が表示されない)
        • ESCを押すと変更が全部の行に反映される
  • カーソルから後ろを削除 D(= shift + d)
  • ファイル末尾へ移動 G
  • ファイル先頭へ移動 gg
  • コピペ
    • v を押してビジュアルモードへ入る
    • 範囲を選択して y でコピー
    • p でペースト
      • dd コマンドとかで1行を削除した場合にもレジスタに入っている
      • 履歴から選ぶは可能なのか?
    • windowsと共有するには? vim.opt.clipboard:append('unnamedplus,unnamed')
  • tab コマンドラインの補完
  • 全選択 ggVG
  • ファイルエクスプローラーと行き来する
  // explorer: toggle

  {
    "key": "space e",
    "command": "workbench.explorer.fileView.focus",
    "when": "neovim.mode !== insert && editorFocus"
  },

  {
    "key": "space e",
    "command": "workbench.action.focusActiveEditorGroup",
    "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus && !workbbench.editors.files.textFileEditor" // 最後のが無いとgitでcommitなどができない
  }