Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim操作の基本の「き」 −「実践Vim」まとめ(その0) -

$
0
0

〜「実践Vim 思考のスピードで編集しよう!」を読んでVimの基本をまとめ中〜

0. Vimのやり方

普段コードを書く中では、同じ編集を繰り返すシーンが多い。この繰り返しの編集を、Vimでは効率的に実現してくれる。Vimの操作を身につけるためのファーストステップは「ドットの公式 Dot Formula」による繰り返し編集をマスターすること。

0-1. Vim以前の大前提

DRY(Don't Repeat Yourself)

  • Vimに限らず言わずもがな。

0-2. ドットの公式 Dot Formula(キー入力の理想型)

カーソル移動用のキー入力が1つ、何かを実行するキー入力がもう一つ。何かをするにはこれが一番だ!

  • 繰り返しの変更にはドットコマンド.を使用する
  • 合計2つ(移動に1回+テキスト変更に1回)のキー入力が理想系(移動と変更を含めて記憶したい場合はマクロ使う)

0-3. ドットコマンドとは?

Vimのドキュメントではドットコマンドについてシンプルに「直前の変更を繰り返す」と書かれている。
(中略)最初に問うべきはこれだ。「変更ってなに?」

Vim documentation: repeat

  • 変更とは?
    • ノーマルモードでのテキストを変更するコマンド1つ分
    • 挿入モードに入ってからノーマルモードに戻るまでのテキスト変更

0-4. 余計な移動をなくす

ドットコマンドを効率的に使うために、移動用のキー入力を最小限に抑える。(理想は1回のキー入力で目的の箇所に移動する)着目すべきは下記の2点。

  • ノーマルモードでの検索による移動

目的の編集箇所に移動するためにh,j,k,lを連打するのはかっこわるい。下記の検索コマンドを利用して少ないキー入力で移動する。

検索コマンド内容次検索前検索最小キー入力数
f{検索文字}一番近い{検索文字}まで移動(前方検索);,2
F{検索文字}一番近い{検索文字}まで移動(後方検索);,2
/{検索文字列}<CR>一番近い{検索文字列}まで移動(前方検索)nN3
?{検索文字列}<CR>一番近い{検索文字列}まで移動(後方検索)nN3
*現在のカーソル下の単語を検索nN1
  • 挿入モードへ入る方法

挿入モードに入るために、移動用のキーを押してからiまたはaを押すと、それだけで2回以上のキー入力になってしまう。Vimの複合コマンドを利用することで1回のキー入力でカーソルを移動させてかつ挿入モードに入ることができる。

Vimの1キーコマンドには、2つ以上の他のコマンドを纏めたバージョンと考えられるものがたくさんある。以下の表に、例をいくつか掲載する。

複合コマンド同じことをする長いコマンド内容(※引用外)
Cc$カーソルから末尾までを削除して挿入モードに入る
sclカーソル下の文字を削除して挿入モードに入る
S^Cカーソル行を削除して挿入モードに入る
I^iカーソル行の先頭に移動して挿入モードに入る
A$aカーソル行の末尾に移動して挿入モードに入る
oA<CR>カーソル行を下に改行して挿入モードに入る
Okoカーソル行を上に改行して挿入モードに入る

0-5. まとめ

まずはドットの公式を徹底する。移動に1回のキー入力、変更にはドットコマンドを使用!


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>