-
Notifications
You must be signed in to change notification settings - Fork 0
vim Cheats
foolmacky edited this page Apr 19, 2023
·
24 revisions
- * or # を打鍵すると、カーソル上の単語について現在のバッファを検索。
- *は前方、#は後方だが、何れにせよすべてハイライトされ、n/Nで移動できる
- <C-w>h 左
- <C-w>j 下
- <C-w>k 上
- <C-w>l 右
- <C-w>w 次のwindow
- <C-w>H 左
- <C-w>J 下
- <C-w>K 上
- <C-w>L 右
- :termでターミナルwindowが自動的に画面分割して開く。ranger配下からでも問題ない
- terminal画面ではコマンドを打鍵した結果はスクロールバックできないが、<C-w>N (ノーマルモード)で出力bufferをvimに取り込んで開くことができる
- a or iを打つと、もとのterminal画面に戻る
- bufferを取り込んだvimで :q するとterminal画面自体が閉じるが、bufferを編集したりしているとterminal&bufferとして残り、vimを終了できない
- 通常はterminal画面でexitするほうがいい。
- :ls 現在のbufferのリストを得る
- sb <buffer NO.> 画面分割してbufferを表示
- つい viwc とやってしまいがちだが、これは無駄だ。ciwc が正しい。 y についても同様
- <行ナンバー>gg or <行ナンバー><Shif>G
- 現状の設定だと、一旦コンソールに検索結果が出て、Enterするとquickfix windowが開く感じで、直接開けないのか調査中
- :cn 次の結果にジャンプ
- :cp 前の結果にジャンプ
- :ccl クローズ
:%s/hoge/foo/gc
//c optionをつける
- shell scriptでもできるのだろうけど、ちょっと処理時間は遅いけど、安定して処理できるにはargsコマンドを使う
- https://yanor.net/wiki/?Vim/%E6%A4%9C%E7%B4%A2/args%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A4%87%E6%95%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%B8%80%E6%8B%AC%E7%BD%AE%E6%8F%9B
:args **/*.go
//カレントディレクトリ以下の*.goファイルをリストアップ
:args
//arglistを確認
:argdo %s/foo/hoge/g | update
//リスティングされたファイルについて置換と保存コマンドを実行
^ $ . * [ ] / ~ \ (sedとは異なる)
:diffs <File名>