ログイン
編集不可のページディスカッション情報添付ファイル
"neotaso/HowToUseVim"の差分

MMA
5と6のリビジョン間の差分
2013-05-17 14:01:53時点のリビジョン5
サイズ: 4817
編集者: neotaso
コメント:
2013-05-17 18:05:29時点のリビジョン6
サイズ: 4940
編集者: neotaso
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 48: 行 48:

 u:: アンドゥ(もとに戻す)
 U:: 行の変更をもとに戻す
 Ctrl-r:: 元に戻した変更を元に戻す

やさしいVimのつかいかた

前書き

  • テキストエディタvimの使い方の基礎を書きます.
  • このページでは最低限必要だと思われることを書きます.
  • 私はemacsを常用しています
    • C-xC-cさえ覚えていればメモ帳代わりに使えるので…
    • 宗教戦争は不毛です

vimとは

  • テキストエディタ"vi"の発展版
  • コードや設定ファイルを編集するのに特化している
  • キーボードのみでの操作を前提としている
  • モードという概念がある.主に使われるのは4つ
    • ノーマルモード
    • 挿入モード
    • コマンドラインモード
    • ビジュアルモード

操作方法

  • $ vim [option] [filename] で起動します

ノーマルモード

  • 起動時はノーマルモードになります.
    • ノーマルモードはその名の通り基本的なモードです.
    • カーソルの移動,文字の削除などを行う
    • 他のモードへの移行はこのモードから.
      • 「Esc」キーを押すことで,他のモードからノーマルモードに移行する.
        • 困ったときは「Esc」
  • Esc
    他のモードからノーマルモードに移行
    h
    カーソル移動←
    j
    カーソル移動↓
    k
    カーソル移動↑
    l
    カーソル移動→
    x
    カーソル位置の文字を削除
    X
    カーソル位置の前の文字を削除
    dd
    カーソル位置の1行削除
    dw
    カーソル位置の1単語削除
    d$
    カーソル位置から行末まで削除
    u
    アンドゥ(もとに戻す)
    U
    行の変更をもとに戻す
    Ctrl-r
    元に戻した変更を元に戻す
  • なおこれらのコマンドは,コマンドを入力する前に数字を入力することで,その回数分実行します.
    • 例: 3dd → 3行削除

挿入モード

  • 文字をバッファに書き込むモード.
  • ノーマルモードで「i」や「a」などを押して移行します.
  • 「Esc」でノーマルモードに戻ることができます.
    • それ以外に説明することが無い

  • i
    カーソル位置の前から挿入を開始する(insert)
    a
    カーソル位置の後から挿入を開始する(append)

コマンドラインモード

  • ファイルを保存したり,開いたり,文章から文字列を検索したり,置換したり(ry
    • 要するに,ヤバイ・・・色々なことが出来るモード

  • 「:」を押すことで画面下部にコマンドラインが出てくる.
    • ここに文字列を入力することで色々なことが出来るらしい.
    • 最後に<Enter>を押して実行します

    • 「Esc」でキャンセルする
  • コマンドラインモードのコマンドは「:」をつけて紹介します
  • :(コロン)
    コマンドラインモードに移行する
    :q <Enter>
    バッファを閉じる
    :w [filename] <Enter>
    バッファを[filenameというファイル名で]保存する
    :wq [filename] <Enter>
    バッファを[filenameというファイル名で]保存して閉じる
  • コマンドの後に「!」をつけることで「強制的に」という意味を付加することが出来る.
    • 例: :q! → 変更を無視してバッファを閉じる

ビジュアルモード(コピーアンドペースト)

  • コピーを行う文字を指定するモード
  • v
    カーソルからビジュアルモードに移行する
    V
    行単位で選択するビジュアルモードに移行する
    y
    指定した文字列をコピー(ヤンク)する
    p
    コピー(ヤンク)した文字列をペーストする

検索及び置換

  • 必要だと言われたので
  • / [word] <Enter>
    順方向への検索
    ? [word] <Enter>
    逆方向への検索
    n
    順方向に次の文字を検索する
    N
    逆方向に次の文字を検索する
    %
    カーソル下の括弧に対応する括弧に移動
    r
    カーソル下の文字を置換します
    cw
    カーソル位置の1単語を置換(挿入モード)
    c$
    カーソル位置から行末まで置換(挿入モード)
    :s/old/new
    はじめのoldをnewに置換
    :s/old/new/g
    行のすべてのoldをnewに置換
    :%s/old/new/g[c]
    ファイル中のすべてのoldをnewに置換
  • /や?に文字列を書かずに実行した場合,前回行った検索内容で検索します
    • n == /(noword), N == ?(noword)
  • 置換に'c'を加えると毎回確認を求めます

あとがき?

  • 分からないこと,知りたいことがある場合は
    • 他の人に聞く
    • $ man vim
    • vimで :help
    • グーグル大先生
    しましょう
  • 暇な時に $ vimtutor ja でもやってみましょう

neotaso/HowToUseVim (最終更新日時 2013-05-17 18:05:29 更新者 neotaso)