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

誰でもできるようになる、やさしいVim入門

$
0
0

はじめに

こんにちは。

私が Vim を真剣に使い始めて、まだそんなに時間が経っていません。

Vim の習熟曲線はとても急勾配であると言われます。

しかし、私は短期間のうちに、
標準的な他のエディタを使った場合と比較して、
およそ倍の速度でテキストを編集できるようになりました。

その方法を皆さんにもお伝えします。

タイトルに偽りはありません。

きっと、誰でもできるようになります。
むずかしくもありません。

ただ、指がつるまで反復練習をするだけです。

とても簡単です。

レッスン0

まず最初のレッスンを始める前に、前提となる条件を確認しましょう。

必須なのは、

  • タッチタイピング(ブラインドタッチ)ができること

これだけです。
できない人は回れ右して帰ってください。
最近は、Vim にこだわらなくても、いいエディタが沢山ありますよ。
Sublime Text なんて流行っているし良いんじゃないですか?
タッチタイプができない人は、そういうダサいエディタを使っていた方が幸せです。

レッスン1

Vim をテクるために

Vim をテクるためには、以下を繰り返すしかありません。

  • 便利な機能を知る
  • ひたすら反復して身体に覚え込ませる

さらに間が空くと忘れたりするので、定期的に復習する必要があります。
なんでこんな辛いことをしなくちゃいけないんだろう、と思います。

しかし、文句を言わずに部活だと思ってやるしかないのです。
前世の業だと思ってやるしかないのです。
俺が打ち続けなければ地球に巨大隕石が落ちる。人類のためにあと5回だけ頑張れ!
と考えながらやるしかないのです。

では、簡単なものを実践してみましょう。

プログラミングの用途で Vim を使う方が多いと思います。
まず、以下のソースを Vim にコピペしてください。

#include <stdio.h>intmain(void){printf("Hello world!");return0;}

では、このソースコードの編集をしてみましょう。
あ!ノーマルモードと挿入モードとかは把握している前提で進めます!

"Hello world!" を "The world!" に変えてみよう!

概要

ソースコード中の、"Hello world!" を "The world!" に変更します。
まず、ggと叩いて、ファイルの先頭にカーソルを持っていってください。

この、カーソルが先頭にある状態から、"Hello world!" を "The world!" に変える方法はいくつもありますが、
Vim を使う場合は、できるかぎり 「思考したこと=操作」となるような操作となるよう意識すべきです。

つまり、頭のなかで、「カーソルを下、カーソルを下、カーソルを下、そして右」みたいな、
「目標をセンターにいれて某」みたいな思考はしないはずです。

思考をトレースしてみましょう。普通は例えば、

  • 5行目にダブルクォートでくくられた Hello world!があるようだね
  • そこの HelloTheに書き換えればいいんじゃないかな
  • よし変えた (この間約0.02秒)

とかになるかと思います。

それでは、上記の思考の流れをそのまま実行してみましょう。
記載されているものをそのままタイプしてください。

実践

  • 5行目に移動
5G
  • Helloを消すためにそこ(Helloの先頭)へ移動
fH
  • Helloを消して挿入モードIN
ciw
  • Theを入力
The
  • 挿入モードを抜ける
<ESC>
  • おしまい

解説

上記の 実践では、以下の操作を使いました。

G

前置した(先に入力した)行へジャンプします。
例えば 3Gだと3行目に飛びます。
行ジャンプは、他に以下のコマンドでも可能です。

:5<Enter>

ちなみに、Vim では以下で簡単にコマンドのヘルプが参照できます。
とても素晴らしいヘルプがその場で確認できるので、
ググるより先にヘルプを見てみましょう。

:h G
G           [count] 行目の最初の非空白文字に移動します(行単位
            |linewise|)。
            カウントの前置がなければ最後の行に移動します。
            'startofline' がセットされていなければ同じ桁位置に移動
            します。
            G はジャンプモーション (|jump-motions|) です。

f

fに続いて入力した文字を、今いる行で右に向かって検索し、
見つかった位置にカーソルが置かれます。

ヘルプを見ておいてください。

:h f

c

cに続いて入力したモーションを削除し、挿入を始めます。
モーションというのは、その名の通り「動作」を意味します。
iwというのが、「カーソル位置にある単語を選択する動作」を意味するコマンドなので、
結果として、「カーソル位置にある単語が削除され、挿入を始める」という操作になります。

ヘルプもね。

:h c
:h iw

反復

では、ここで学んだ操作を指がつるまで繰り返してみましょう。

  1. gg
  2. fH
  3. ciw
  4. The<ESC>
  5. u(アンドゥ)

これから同じような場面では完璧にこなせるはずです。

補足

上記手順は、結構まわりくどいやり方でやってます。
もちろん、Helloをいきなり検索したり置換した方が早いです。

次回のレッスン

未定!!!!!!!


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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