Vimはエディタではなくキーマップ

  • 以前は「キーバインド」としていたんだけど、Vimでは「キーマップ」と書くほうが正しいらしい
    • inoremap とか書くし納得ではある
    • この言葉は誰かの受け売りなんだけど、原典が見つからない
      • 「EmacsはエディタではなくOS」みたいな言葉と並べられていたのを覚えている

主に使っているのはVSCodeVim VSCodeからNeovimに移行した

  • Vim Cheat Sheet
    • かなり網羅されてるチートシート
  • Vim日本語ドキュメント
    • 細かい
  • vim-surroundでvimmerへの道を極めよう
    • vim-surroundはVScodeVimでも使える(設定でvim.surroundをtrueにすれば)
  • VSCodeVimのREADME
    • 結構いろいろな情報がある
    • というか全部書いてない?
    • 例えば、VSCodeならではのキーバインド(gdでF12と同等:定義に移動)や、設定の方法
    • Ctrl+JKで行を1つ移動したいと思った時、NeoVimではddpを使ってたけど、VSCodeでこれをやるとちょっと不自然な挙動をして、どうしたものかと思っていたら、commandsという設定方法がドキュメントに書いてあったのを見て解決した
      • "commands": ["editor.action.moveLinesDownAction"]でVSCodeネイティブの行入れ替えができる

CLIではNeovim

  • options - Vim日本語ドキュメント
    • set smartindent って何だっけ?みたいな状態になったときに見る
  • Provider - Neovim docs
    • clipboard+=unnamedplus した状態で、Tmux上からNeovimを立ち上げると、Tmuxがclipboardのproviderとして働いてくれるため、yyとかの結果がOSのクリップボードにも入る
  • coc-settings.json"coc.preferences.formatOnSaveFiletypes": true と書くと、保存時に自動でフォーマットをかけてくれるようになる
    • Coc.nvimを使うのをやめてNeovim標準のLSP機能を使うようにしている

Vim歴はこんなかんじ

  • 2018-01-23:初めてのVimに関するツイート

    ふむ、これがvimか
    わたすけ (@Watasuke102) 2020-05-07

    • このときは kaoriya.net のWindows用gvimを使っていたはず
    • Neobundle, NERDTree, Neocompleteを使っていた記憶がある
  • 思ったとおりに設定できないという不満により、それほど長く使わないまま挫折したっぽい

    • 2020-05-01にこういうツイートをしている:

      エディタ何でも良いならVScodeだけど、Vim or Emacsだったら自分はVim
      Vim設定わからんで辞めたけど前は使ってた
      わたすけ (@Watasuke102) 2020-05-07

  • 2020-05-07あたりで再挑戦している:

    Arch入れたのもカスタマイズ性だからVim使ってみたいな感ある
    NeoVimかな~
    わたすけ (@Watasuke102) 2020-05-07

    Vim環境構築リトライしてぇな
    わたすけ (@Watasuke102) 2020-05-09

    • NeoVimかな~等と言っているが、その後のツイートを見た感じ、VSCodeVimに行き着いたらしい
    • 2020-09-29に日本語入力との相性の悪さからアンインストールしている

      VScodeのVimキーバインド,日本語と驚くほど相性が悪いのでアンインストールしたい
      Vim特有の仕様だったりするのか?
      わたすけ (@Watasuke102) 2021-09-29

  • 2021-05-09にまたNeovimに挑戦している

    Vim、導入してみようかな
    わたすけ (@Watasuke102) 2021-05-09

    Vim挑戦は3回目くらい?
    わたすけ (@Watasuke102) 2021-05-09

    • ちょうど1年越しの再挑戦ですごい

    • Coc.nvimを使っている様子が伺える

      coc.nvim、自動補完してくれるんだけど、ちょっと弱い
      たとえばPythonでmath.sinを入れたい時、maって入れるとmathが出てくるんだけど、それを選択して残りを入力しようとした時補完ウィンドウが出ない
      わたすけ (@Watasuke102) 2021-07-30

      coc-clangdで真のcoc.nvimの力を知った
      わたすけ (@Watasuke102) 2021-08-03

      coc-nvimってこんなに素晴らしかったのか
      わたすけ (@Watasuke102) 2021-08-03

  • 2021-07-28:dotfilesにnvimディレクトリを追加するコミットを行っている

    • deinを使っていることがわかる
      • dein.toml を見ると、NERDTree, onedark.vim, vim-material のみを導入しているらしい(少なすぎてすごい)
    • 設定が小さくてすごい(deinのセットアップを含めても67行!)
  • 2022-02-05にVSCodeVimについて言及している

    • おそらくここからはずっとVSCodeVimを使っているはず
      • 未踏アドバンストでペアプロっぽく画面共有しつつコーディングする機会があり、normal modeで行番号を相対表示にする設定のせいでコミュニケーションに齟齬が発生したのを覚えている
  • 2024-07-31に設定ファイルをLuaで書き直し&Lazy.nvimを導入している

    • 編入試験に合格しましたツイートをした翌日
      • 実際には筑波大の編入試験があった翌日に作業をしていたらしい

かなり前のことまで分かってすごい、人生の追跡ありがとうという感じだ