Vim/Neovimの実践的な使い方や設定、開発効率化について書いています。

Articles

vim-scriptnames
~/vim-blue $ less vim-scriptnames.md

設定ファイルが読み込まれない時に使う:scriptnames

vimrcやプラグインが読み込まれているかを確認する:scriptnamesコマンドの使い方。

#トラブルシューティング #Tips
vim-word-motions
~/vim-blue $ less vim-word-motions.md

Vimの単語移動8種類 w/b/e/geとW/B/E/gEの違い

単語単位で移動するw/b/e/geと、記号を無視するW/B/E/gEの違いと使い分け。

#移動 #基本操作
vim-motion-find
~/vim-blue $ less vim-motion-find.md

Vimで1文字検索して移動する(f/F/t/T)と繰り返し(;/,)

カーソルを指定した文字へ一発で移動させるf/Fと、その手前で止まるt/Tの違い。

#移動 #基本操作
vim-move-1-character
~/vim-blue $ less vim-move-1-character.md

Vimのhjklと矢印キー、結局どっちを使うべきか

hjklが推奨される理由と、例外的に矢印キーが有利な場面を解説。

#移動 #基本操作
vim-row-home-end-motion
~/vim-blue $ less vim-row-home-end-motion.md

Vimで行頭・行末へ移動する(0/^/$)とインデントの扱い

行頭移動の0と^はインデントの扱いが違う。行末移動の$とあわせて解説。

#移動 #基本操作
mark-jump
~/vim-blue $ less mark-jump.md

Vimのマーク機能で好きな位置にジャンプする(m/`/'/:marks)

任意の位置に印を付けてジャンプするマーク機能と、自動設定される特殊マーク。

#移動 #Tips
dot-command
~/vim-blue $ less dot-command.md

Vimのドットコマンド(.)で直前の編集を繰り返す

Vimmerが最初に覚えるべき.コマンドの仕組みと、マクロとの違い。

#基本操作 #効率化
vim-move-operations
~/vim-blue $ less vim-move-operations.md

Vimの画面スクロールとジャンプ操作(Ctrl-f/b/u/d, gg/G/%)

1画面/半画面スクロールと、ファイル先頭末尾・対応する括弧へのジャンプ。

#移動 #基本操作
vim-study-operator-motion
~/vim-blue $ less vim-study-operator-motion.md

オペレータ+モーション練習ドリル5問

キー操作の結果を予測してから答え合わせする、実践形式のドリル5問。

#練習問題 #オペレータ
operater-and-search
~/vim-blue $ less operater-and-search.md

Vimでオペレータ+検索モーションを使う(c/ d/ y/)

検索キーワードをモーションとして使い、複数行にまたがる範囲を一気に操作する方法。

#検索 #オペレータ
vim-string-search
~/vim-blue $ less vim-string-search.md

Vimの文字列検索の基本(/ と ?)と正規表現の入り口

行頭/行末指定・OR検索など、最初に覚えておきたい正規表現パターンを解説。

#検索 #基本操作
vim-no-highlight-search
~/vim-blue $ less vim-no-highlight-search.md

Vimの検索ハイライトを消す(:nohlsearch)といちいち消さない設定

残り続けるハイライトを消す:nohlsearchと、キーマッピングで手間を省く方法。

#検索 #Tips
vim-shortest-match
~/vim-blue $ less vim-shortest-match.md

Vimの正規表現で最短マッチを使う(.\{-})

HTMLタグの属性値だけを置換したいときに欠かせない最短マッチの使い方。

#正規表現 #Tips
word-search
~/vim-blue $ less word-search.md

カーソル下の単語を一発検索する(*/#/g*/g#)

単語を入力し直さずカーソル下の単語をそのまま検索する*/#と、部分一致のg*/g#。

#検索 #基本操作
cgn
~/vim-blue $ less cgn.md

直前の検索キーワードをそのまま変更するcgn/cgN

検索した単語を移動し直さず、cgnで直接変更に入る方法。

#検索 #オペレータ
s-s-c-c
~/vim-blue $ less s-s-c-c.md

Vimのsとcの違い sは実質cl

似ているようで違うsとcコマンドの関係をシンプルに整理する。

#基本操作 #Tips
sort-unique
~/vim-blue $ less sort-unique.md

Vimで行を並べ替える(:sort)と重複行を消す方法

昇順・降順ソート、範囲指定、重複排除(:sort u)までプラグイン無しでできる並べ替え。

#Tips #基本操作
gf-go-to-file
~/vim-blue $ less gf-go-to-file.md

カーソル下のパスをそのまま開く(gf)と分割・タブでの開き方

import文やhref属性のパスをコピペせずに開くgfコマンドの使い方。

#Tips #基本操作
find
~/vim-blue $ less find.md

プラグイン無しでファイル名からファイルを探す(:find)

path+=$PWD/**を設定して:findで名前の一部からファイルを探す方法。

#Tips #基本操作
search-complete
~/vim-blue $ less search-complete.md

Vimの検索コマンドラインで単語を補完する(Ctrl-r Ctrl-w)

検索キーワードを途中まで入力してカーソル下の単語で補完する方法。

#検索 #Tips
search-variable-declaration
~/vim-blue $ less search-variable-declaration.md

変数の宣言位置へジャンプする(gd/gD)

LSP無しでも使える標準機能、ローカル宣言/グローバル宣言へのジャンプ。

#Tips #基本操作
vim-replace-all-string
~/vim-blue $ less vim-replace-all-string.md

:substituteコマンド活用集 全置換・行頭行末への挿入・確認付き置換

:%s///gの基本から、行頭行末への文字列挿入、確認しながらの置換までまとめる。

#置換 #Tips
vim-expression-register
~/vim-blue $ less vim-expression-register.md

Vimのexpressionレジスタ「=」で計算結果を挿入する

プラグイン無しで式を評価してそのまま挿入できるexpressionレジスタの使い方。

#レジスタ #Tips
vim-named-register
~/vim-blue $ less vim-named-register.md

Vimの名前付きレジスタで複数箇所を集める("a〜"z / "A〜"Z)

小文字は上書き、大文字は追記。複数箇所を1つのレジスタに集める方法。

#レジスタ #Tips