とらりもんHOME  Index  Search  Changes  Login

vim

2010/05/30 K. T.

vimメモ

初心を侮ることなかれ。vimを制するものは、、、、

<dd>  1行切り取り
<ndd> n行切り取り 
<yy>  1行コピー
<nyy> n行コピー
<p>   指定行の次の行へ貼り付け
<P>   指定行の前の行へ貼り付け
<^>   文頭へ移動
<$>   文末へ移動
<ctr + d> 下へスクロール
<cdr + u> 上へスクロール
<shift + ↑ or ↓> スクロール
<:w> 保存
<:w ****.csv> 名前をつけて新規保存
<:w!> 上書き保存
<:q> vim 終了
<:q!> 保存せずにvimを終了
<:wq> 保存して終了

置換したい場合

例) aをbに置換する。

<:%s;a;b;gc>

g : 1行に2個以上の場合も置換。c : 置換する際、確認をする。

vimの真髄(玄人編)※ここまで使えるとVIM使いとして認定される。

  • vimには、挿入モードとコマンドモードとヴィジュアルモードの3種類がある。それぞれのモードを使いこなすことにより、すばらしい機能が使えるようになり、windowsのメモ帳や、メール作成で文章を打つのが苦になるだろう。

0.各モードの切り替え方

デフォルトの状態は、コマンドモードである。

  • コマンドモード
    • Esc をとにかく押すと切り替わるのがコマンドモードである。困ったらEscを押すくらいに思っているとよい。(本当は一回押せばよい)。
    • コマンドモードは、非常に沢山の操作が可能である。があまりにも多いのでここでの紹介は省略する。
    • コマンドモードでは、キーボードの矢印キーを使うのはスマートではない。h: 左、j: 下、k: 上、l:右 を使って移動を行う。(上達したければとにかくこの方法に従う)
  • 挿入モード
    • コマンドモードから挿入モードに切り替えるには、i とか a とか o とか O とか色々ある。玄人はこの挿入モードへの入り方にすごく気を使う。

たとえば、

今いる位置から書きはじめたいときは、i
今いる位置より一文字先から書きはじめたいときは、a
今いる行の文末から書きはじめたいときは、A
今いる行より下の行から書きはじめたいときは、o
今いる行より上の行から書きはじめたいときは、O

※なぜこんな面倒なことをするのかについて興味が出た人は、vim使いの1歩目を踏み出したことになる。

  • ヴィジュアルモード
    • あまり使用したことがない人も多いのがこのモード。このモードを使いこなすと、コピペが楽になる。
    • ヴィジュアルモードでも、キーボードの矢印キーを使うのはスマートではない。h: 左、j: 下、k: 上、l:右 を使って移動を行う。(上達したければとにかくこの方法に従う)
    • コマンドモードからヴィジュアルモードに入るには、何パターンかある。
vを押すと文字単位で範囲指定可能なヴィジュアルモードに切り替わる。
shift + vを押すと、行単位で指定可能なヴィジュアルモードに切り替わる。
Ctl + v を押すと、矩形単位で範囲指定可能なヴィジュアルモードに切り替わる。

それぞれで範囲指定した後、y によるコピー、dによる切り取りが可能になり、 p を押すと貼り付けができる。

1. <Ctl> + wで編集ウィンドウを自在に操れ!

  • <Ctl> + w の後に v を押すと、windowが左右に分割される。
  • <Ctl> + w の後に s を押すと、windowが上下に分割される。
  • <Ctl> + w の後に w を押すと、編集対象のwindowが変わる。
    • 各windowを閉じたいときには、編集対象のwindow上でいつもどおり、「:wq」とか「:q!」とかすればよい。
    • 各windowごとに別のファイルを開きたい場合、「:edit <ファイル名>」とすれば編集できる。

2. 「.」による繰り返し機能を極めろ!

何気なく、挿入モードとコマンドモードを切り替えているが、この切り替えには大きな意味がある。 たとえば、

1. vim を起動する。※コマンドモード
2. iとかを押して、挿入モードに切り替える。
3. 編集が終わったらEscを押して、再びコマンドモードに戻る。

これだけ見るとなんてことはない操作に見える。しかしここで魔法のコマンドを打ってみる。

4. 「. (ドット)」を一回打ってみてほしい。

すると、先ほど挿入モードで実行した結果が繰り返されていることに気づく。(ここで痺れた人はvim使いに2歩近づく)

つまり、コマンドモード -> 挿入モード -> コマンドモードのサイクルでの編集内容を、vimは記憶しており、 「.」を押すことで、まったく同じ編集を実行してくれる。

さらにさらに、「5.」と押してみると、5回同じ編集をしてくれる。

鋭い人は気づいたかもしれないが、コマンドモード -> 挿入モード -> コマンドモードを実現するためには、 挿入モードへの入り方が非常に重要となる。どんな入り方をするかによって、「.」で繰り返される内容が 変わってくるためである。結構慣れが必要なので色々と試してみてほしい。

実践Vim 思考のスピードで編集しよう

その他

  • vimがどうしても肌に合わない人は、emacsを試してみるのもよい。vim派とemacs派の戦いには長い歴史がある。どちらが優れているかはわからないが、どちらもすばらしいエディタであることには間違いない。「俺はvim派」とか「私はemacs派」と言えるとちょっとカッコいい。
Last modified:2020/02/11 23:23:32
Keyword(s):
References: