こんにちは、インフラエンジニアの射場です。
これはTECHSCORE Advent Calendar 2015 の15日目の記事です。
ふと、いつもどんなコマンドを多く使って仕事をしているのだろうと思い、以下のコマンドを叩いてみました。
1 |
$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head |
ヒストリーから使用回数の多いコマンド上位10個を表示させるワンライナーです。
実行結果は以下のとおり。
1 2 3 4 5 6 7 8 9 10 11 |
$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head 358 vim 159 git 142 ansible-playbook 116 su 83 screen 42 cd 31 grep 31 find 24 cat 12 diff |
vimがダントツですねー!
私が所属しているプラットフォームグループに最近Windowsな環境で戦ってきたメンバーが入ったのですが、vimが少々つらそう(と私が勝手に思っています笑)
vimでストレスを感じないために知っていると幸せになれるtipsをまとめました。
vimなんて爆発しろ!と思っている方に是非ご覧頂きたいです。
赤ちゃんvimmerになるためのテクニック
最低限vimを使ってファイル編集できるようになるために身に付けるテクニック。
とりあえずこれさえ覚えておけばなんとか仕事が進められるようになります。
vimのモード
vimは以下のモードを行き交ってファイルの編集をしていきます。
- ノーマルモードは基本のモード
- ファイルの保存もこのモードで行う
- インサートモード (iやaキーなど)
- ファイルの編集はこのモード
- コマンドモード ノーマルモードから : で各種コマンドを実行
- ビジュアルモード 初心者のうちは詳しく知らなくていい(多分)
最低限覚えるテクニック
最低限vimを使うために下記のテクニックは身に付けましょう。
- 「i」でその場でインサートモード
- 「a」で直後の文字にインサートモード
- 「Escキー」でノーマルモード
- 「:wq」で保存終了
- 「:q!」で保存せずに終了
- 移動は矢印キー
- 「x」でカーソル下の文字を削除
- 困ったらEscキーを連打
よちよちvimmerになるためのテクニック
矢印キー連打、deleteキー連打を卒業し、赤ちゃんvimmerからよちよちvimmerへクラスチェンジを果たすために下記のテクニックを身に付けましょう。
矢印キー連打からの卒業
- 「h」で左、「j」で下、「k」で上、「l」で右にカーソルが移動する
- 「gg」で最初の行、「G」で最終行にジャンプできる
- <C-f>で1ページ後、<C-b>で1ページ前に移動
- 「H」、「M」、「L」はそれぞれ画面の最上部・真ん中、最下部の行にカーソルを移動する
- 「:数字」で入力した数字の行にカーソルを移動させる
より素早くファイルを編集する
- 「==」でその行のインデント位置を自動修正できる
- 「u」でundo
でredo - 「dd」で行全体をカット
- 「yy」で行全体をコピー
- 「dd」または「yy」を実行後に「p」でカット(コピー)した行をペースト
- 「:%s/str1/str2/g」で全てのstr1をstr2に置換
- 「”」で囲まれている中にカーソルを置いて、「ci”」と打つと「”」の中身を消してインサートモードになる
- 「ciw」とするとカーソル位置の単語を消してインサートモード
- 「ci[」「ci{」「ci(」はそれぞれ、「[」「{」「(」の中身を消してインサートモード
- 「/パターン」で検索できる
- 「:set number」または「:set nu」で行数を表示する
ここまでのテクニックを身に付ければvimを使う業務も難なくこなせるだろうと思います。
vim力を飛躍的に高めてくれる神ツール
LinuxやMacを使っているなら、ネ申コマンドがあるのでやってみるといいです。
vimをインストールしている状態で、以下のコマンドを実行します。
1 |
$ vimtutor |
すると、vimの操作をチュートリアルで学ぶことができるのです。
何回かチュートリアルやればvimがメインのエディタになることでしょう。
Comments
Vimperator を使えばFirefox上でviキーバインドが楽しめますよね。ブラウザは利用頻度が高いので知らず知らずに何処でもhjklを押してしまう癖がついてしまいました。