<> = やさしい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 * 要するに,--(ヤバイ・・・)--色々なことが出来るモード * 「:」を押すことで画面下部にコマンドラインが出てくる. * ここに文字列を入力することで色々なことが出来るらしい. * 最後にを押して実行します * 「Esc」でキャンセルする * コマンドラインモードのコマンドは「:」をつけて紹介します :(コロン):: コマンドラインモードに移行する :q :: バッファを閉じる :w [filename] :: バッファを[filenameというファイル名で]保存する :wq [filename] :: バッファを[filenameというファイル名で]保存して閉じる * コマンドの後に「!」をつけることで「強制的に」という意味を付加することが出来る. * 例: :q! → 変更を無視してバッファを閉じる === ビジュアルモード(コピーアンドペースト) === * コピーを行う文字を指定するモード v:: カーソルからビジュアルモードに移行する V:: 行単位で選択するビジュアルモードに移行する y:: 指定した文字列をコピー(ヤンク)する p:: コピー(ヤンク)した文字列をペーストする === 検索及び置換 === * 必要だと言われたので / [word] :: 順方向への検索 ? [word] :: 逆方向への検索 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 でもやってみましょう