https://zenn.dev/vim_jp/articles/2024-06-05-vim-middle-class-features

検索結果を次々と置き換える

Configuration of VimL, by VimL, for VimL

1. /VimL<CR> で VimL という文字列を検索
2. cgn で検索結果にマッチする範囲 (gn) を削除しつつ挿入モードに入る (c)
3. Vim script と入力して挿入モードを抜ける
4. . で直前の置換を繰り返す

<CR> は carriage return

引用符で囲まれた箇所全体を選択する

def add_suffix(fname: str, extension: str) -> str: return fname + extension

先にオペレータ(v, c(置き換え) とか)を押した上で

  • i” で “…” の中
  • a” で “…” 全体
    • 周囲の空白を巻き込んでしまう
  • 2i” で “…” 全体
    • 周囲の空白を巻き込まない

連番を簡単に作成する

  1. Something.
1. 0. Something. と書かれたテキストを10行並べる
2.<C-v> で矩形ビジュアルモードに入り、数字を選択
3.g<C-a> を押す

挿入モード内でインデントを増減する

通常は > / <

<C-t> / <C-d>

メリットはカーソルが行頭になくても動作する

  • indent
    • indent in INSERT mode

ついでにインデントの設定もした
vimで言語ごとにインデントの大きさを変えてみた #Vim - Qiita マークダウンではスペース2文字

レジスタの中身を挿入する

挿入モードで <C-r>" とうてば無名レジスタの中身を貼り付けることができる

<C-r>+ クリップボードの中身を挿入する

<C-r>% 現在のバッファのファイルパスを挿入する
2024-06-05-vim-middle-class-features.md

<C-r>/ 最後に検索した検索パターンを挿入する

Vim を電卓のように使う

15284 24232 53280 3087 43493 1259

  1. 各行の冒頭に + を挿入 1行目に + を付ける必要はないため、2行目から最後までを矩形選択し行頭に + を挿入
  2. 全体を選択し、 J コマンドで行を結合 v で全体を選択し gJ で実行する

Shift + v で visual line というのだな。v で visual にしていたがどんな違いがあるだろう

15284 + 24232 + 53280 + 3087 + 43493 + 1259

  1. 行全体をヤンク
  2. i= と押下し、コマンドラインモードに入る
    • : で起動したときと異なり、プロンプトが = となっている特殊なコマンドラインモードです。
    • プロンプトに入力した Vim script の式を評価し、結果をバッファに挿入することができます。
  3. " でヤンクした式を貼り付ける - 先程述べた無名レジスタの貼り付けをコマンドラインモードで使っています。
  4. を押し、評価結果をバッファに挿入

sum: 140635

Tags:

Updated: