とらりもんHOME  Index  Search  Changes  Login

とらりもん - vim Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

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 思考のスピードで編集しよう|http://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Vim-%E6%80%9D%E8%80%83%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%81%A7%E7%B7%A8%E9%9B%86%E3%81%97%E3%82%88%E3%81%86-Drew-Neil/dp/4048916599]]

! その他
* vimがどうしても肌に合わない人は、emacsを試してみるのもよい。vim派とemacs派の戦いには長い歴史がある。どちらが優れているかはわからないが、どちらもすばらしいエディタであることには間違いない。「俺はvim派」とか「私はemacs派」と言えるとちょっとカッコいい。