壱 から始める vim 超入門 @smokeymonkey 2010/01/15
0.目的 Vimの基礎操作を学習する。 Vimの基礎操作を復習する。 Vimの操作環境の改善を検討する。
1.基本移動 j k h l あかさたなはまやらわ ^ $ 前後左右移動 行頭行末移動 検索移動 open source fE fe fX -> カーソルから行頭に向かって X を検索し移動 FX -> カーソルから行末に向かって X を検索し移動
2.大きく移動 文頭文末・行番号移動 画面移動 START LINE 10 LINE 20 END 1G or gg 10G G 1 画面上 半画面上 半画面下 1 画面下 Ctrl+b Ctrl+u Ctrl+f Ctrl+d カーソル :20
3.文字入力(インサートモード) a A i I インサートモード 文字入力 インサートモード⇔コマンドモード i,a,I,A Esc コマンドモード あかさたなはまやらわ Insert-> 挿入 Append-> 追加 行入力 あかさたなはまやらわ O o
4.カット・コピー・ペースト 文字単位 行単位 あいうえお あいえお あいお 2x x あい D あいうえお あいおうえ p P あいうえお かきくけこ さしすせそ かきくけこ さしすせそ あいうえお かきくけこ さしすせそ さしすせそ 2dd dd yy さしすせそ あいうえお かきくけこ あいうえお かきくけこ さしすせそ p P x -> カット 2x ->2 文字カット D -> カーソル以降カット p -> 追加貼付け P -> 挿入貼付け dd -> 行カット 2dd ->2 行カット yy -> 行コピー ( ヤンク ) ※ dd と同様に 複数行選択可能 p -> 追加行貼付け P -> 挿入行貼付け
5.Undo/Redo、補完 補完 Ctrl+n ( 次候補 ) Undo/Redo open outh o Ctrl+p ( 前候補 ) open outh u -> 直前の操作の取り消し (Undo) Ctrl+r -> 取り消しのやり直し (Redo) . -> 直前の動作を繰り返す
6.ヴィジュアルモード(1) V -> 範囲選択 ヴィジュアルモード c -> 選択範囲置換 y -> 選択範囲ヤンク ( コピー ) d -> 選択範囲デリート ( カット ) J -> 選択範囲行をスペース連結 gJ -> 選択範囲行をスペース無し連結 V -> 行範囲選択 ヴィジュアルラインモード c -> 選択範囲置換 y -> 選択範囲ヤンク ( コピー ) d -> 選択範囲デリート ( カット ) J -> 選択範囲行をスペース連結 gJ -> 選択範囲行をスペース無し連結
6.ヴィジュアルモード(2) 矩形ヴィジュアルモード Ctrl+v -> 矩形範囲選択 y -> 選択範囲コピー d -> 選択範囲 カット Ex)  d->Esc ABCDE FGHIJ KLMNO PQRST I -> 文字挿入 A -> 文字追記 Ex)  I->#->Esc # ABCDE # FGHIJ # KLMNO # PQRST c -> 選択範囲置換 Ex)  c->Z->Esc Z BCDE Z GHIJ Z LMNO Z QRST B CDE GHIJ LMNO QRST
7.検索・置換 N   ->前の検索結果に移動 n   ->次の検索結果に移動 /hoge -> hoge を前方検索 検索 置換 opensource freesoftware opEnsource freesoftware opEnsourcE frEEsoftwarE opEnsourcE freesoftware :s/e/E/ -> カーソル行で最初の e を E に置換 :s/e/E/g -> カーソル行の全ての e を E に置換 :%s/e/E/g -> ファイル内の全ての e を E に置換 n   ->次の検索結果に移動 N   ->前の検索結果に移動 ?hoge -> hoge を後方検索
8.保存・終了 :w   ->  保存 :w hoge.txt   ->  ファイル名を指定して保存 :w!   ->  強制保存 保存 終了 :q   ->  終了       :q!  ->  強制終了 :wq  ->  保存終了  :wq!  -> 強制保存終了 ZZ  ->  保存して終了  ZQ  ->  保存せず終了
9.ファイルエクスプローラ :e /hoge  -> -> 上下で選択 -> Enter で移動 保存 &quot; ================================================================= &quot; Netrw Directory Listing  (netrw v132) &quot;  c: &quot;  Sorted by  name &quot;  Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~ &quot;  Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec &quot; ================================================================= ../ ruby/ perl php/ .vimrc .viminfo :pwd  ->  カレントディレクトリ表示 :cd /hoge  -> カレントディレクトリ移動
10.バッファ Vim では、起動している間に開いたファイルをバッファ領域に保管している。 A.TXT Aaaa Aaaa Aaaa aaaa B.TXT bbbb bbbb bbbb bbbb $ vi A.TXT -> :e B.TXT -> バッファ 1 バッファ 2 :ls ->  1 %a “A.TXT”  行 1 2 # “B.TXT”  行 2   :bn  ->  次のバッファに移動 :bp  ->  前のバッファに移動 :b1  ->  1番のバッファに移動 バッファ
11.画面分割 A.TXT Aaaa Aaaa Aaaa aaaa B.TXT bbbb bbbb :new B.TXT ->  水平に画面分割して B.TXT を開く :vnew B.TXT ->  垂直に画面分割して B.TXT を開く A.TXT Aaaa Aaaa Aaaa aaaa B.TXT bbbb Bbbb Bbbb bbbb Ctrl+w j Ctrl+w k Ctrl+w h Ctrl+w l 画面分割 画面移動
12. .vimrc (1) &quot; syntax を有効にし、構文をハイライトにする。 syntax enable &quot;  検索で大文字小文字を区別しない。 set ignorecase &quot;  変更を保存せずに他のファイルを表示可能にする。 set hidden &quot;  自動インデント機能を有効にし、改行すると前行と同じインデントにする。 set autoindent &quot;  バックアップファイルを作成する。 set backup &quot;  バックアップファイルを作るディレクトリを指定する。 set backupdir=$HOME/vimbak &quot;  タブをスペースにする。 set expandtab &quot; <TAB> を画面上で空白何文字分で表示するか指定する。 set tabstop=2 &quot; <TAB> キーを押した時に挿入される空白の量を指定する。 &quot; expandtab が設定されている場合は、ここで指定した数だけスペースが挿入される。 set softtabstop=2 &quot;  インデントの幅を画面上で何文字分で表示するか指定する。 set shiftwidth=2
12. .vimrc (2) &quot; vim が通常使う文字エンコーディングを指定する。 set encoding=utf-8 &quot;  文字化け防止。ファイルオープン時、 fileencodings に指定された &quot;  エンコードにマッチしていればそれを使い、マッチしなければ &quot; encoding に指定したエンコードを使う。 set fileencodings=iso-2022-jp,sjis,euc-jp &quot;  常にステータスラインを表示する。 set laststatus=2 &quot;  ステータスラインのカスタマイズ。 set statusline=%n:\ %<%f\%m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\&fileencoding!=''?&fileencoding:&encoding}]\ 0x%B=%b%=%l,%c\ %P
Apendix.  Ubuntu の vim は、初期状態だと vim-tiny がインストールされており、 syntax が使えない。 aptitude install vim すること。 一時的に vim を抜けて復帰するには中断->フォアグラウンド (Ctrl+z->fg) とか Screen を使う。
Reference.  Vim の Option については以下参照。 http://vimwiki.net/?OptionList Vim の Pluguin については以下参照。 http://www.vim.org/scripts/index.php

壱から始めるVim超入門

  • 1.
    壱 から始める vim超入門 @smokeymonkey 2010/01/15
  • 2.
  • 3.
    1.基本移動 j kh l あかさたなはまやらわ ^ $ 前後左右移動 行頭行末移動 検索移動 open source fE fe fX -> カーソルから行頭に向かって X を検索し移動 FX -> カーソルから行末に向かって X を検索し移動
  • 4.
    2.大きく移動 文頭文末・行番号移動 画面移動START LINE 10 LINE 20 END 1G or gg 10G G 1 画面上 半画面上 半画面下 1 画面下 Ctrl+b Ctrl+u Ctrl+f Ctrl+d カーソル :20
  • 5.
    3.文字入力(インサートモード) a Ai I インサートモード 文字入力 インサートモード⇔コマンドモード i,a,I,A Esc コマンドモード あかさたなはまやらわ Insert-> 挿入 Append-> 追加 行入力 あかさたなはまやらわ O o
  • 6.
    4.カット・コピー・ペースト 文字単位 行単位あいうえお あいえお あいお 2x x あい D あいうえお あいおうえ p P あいうえお かきくけこ さしすせそ かきくけこ さしすせそ あいうえお かきくけこ さしすせそ さしすせそ 2dd dd yy さしすせそ あいうえお かきくけこ あいうえお かきくけこ さしすせそ p P x -> カット 2x ->2 文字カット D -> カーソル以降カット p -> 追加貼付け P -> 挿入貼付け dd -> 行カット 2dd ->2 行カット yy -> 行コピー ( ヤンク ) ※ dd と同様に 複数行選択可能 p -> 追加行貼付け P -> 挿入行貼付け
  • 7.
    5.Undo/Redo、補完 補完 Ctrl+n( 次候補 ) Undo/Redo open outh o Ctrl+p ( 前候補 ) open outh u -> 直前の操作の取り消し (Undo) Ctrl+r -> 取り消しのやり直し (Redo) . -> 直前の動作を繰り返す
  • 8.
    6.ヴィジュアルモード(1) V ->範囲選択 ヴィジュアルモード c -> 選択範囲置換 y -> 選択範囲ヤンク ( コピー ) d -> 選択範囲デリート ( カット ) J -> 選択範囲行をスペース連結 gJ -> 選択範囲行をスペース無し連結 V -> 行範囲選択 ヴィジュアルラインモード c -> 選択範囲置換 y -> 選択範囲ヤンク ( コピー ) d -> 選択範囲デリート ( カット ) J -> 選択範囲行をスペース連結 gJ -> 選択範囲行をスペース無し連結
  • 9.
    6.ヴィジュアルモード(2) 矩形ヴィジュアルモード Ctrl+v-> 矩形範囲選択 y -> 選択範囲コピー d -> 選択範囲 カット Ex) d->Esc ABCDE FGHIJ KLMNO PQRST I -> 文字挿入 A -> 文字追記 Ex) I->#->Esc # ABCDE # FGHIJ # KLMNO # PQRST c -> 選択範囲置換 Ex) c->Z->Esc Z BCDE Z GHIJ Z LMNO Z QRST B CDE GHIJ LMNO QRST
  • 10.
    7.検索・置換 N  ->前の検索結果に移動 n   ->次の検索結果に移動 /hoge -> hoge を前方検索 検索 置換 opensource freesoftware opEnsource freesoftware opEnsourcE frEEsoftwarE opEnsourcE freesoftware :s/e/E/ -> カーソル行で最初の e を E に置換 :s/e/E/g -> カーソル行の全ての e を E に置換 :%s/e/E/g -> ファイル内の全ての e を E に置換 n   ->次の検索結果に移動 N   ->前の検索結果に移動 ?hoge -> hoge を後方検索
  • 11.
    8.保存・終了 :w -> 保存 :w hoge.txt -> ファイル名を指定して保存 :w! -> 強制保存 保存 終了 :q -> 終了      :q! -> 強制終了 :wq -> 保存終了 :wq! -> 強制保存終了 ZZ -> 保存して終了 ZQ -> 保存せず終了
  • 12.
    9.ファイルエクスプローラ :e /hoge -> -> 上下で選択 -> Enter で移動 保存 &quot; ================================================================= &quot; Netrw Directory Listing (netrw v132) &quot; c: &quot; Sorted by name &quot; Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~ &quot; Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec &quot; ================================================================= ../ ruby/ perl php/ .vimrc .viminfo :pwd -> カレントディレクトリ表示 :cd /hoge -> カレントディレクトリ移動
  • 13.
    10.バッファ Vim では、起動している間に開いたファイルをバッファ領域に保管している。A.TXT Aaaa Aaaa Aaaa aaaa B.TXT bbbb bbbb bbbb bbbb $ vi A.TXT -> :e B.TXT -> バッファ 1 バッファ 2 :ls -> 1 %a “A.TXT” 行 1 2 # “B.TXT” 行 2   :bn -> 次のバッファに移動 :bp -> 前のバッファに移動 :b1 -> 1番のバッファに移動 バッファ
  • 14.
    11.画面分割 A.TXT AaaaAaaa Aaaa aaaa B.TXT bbbb bbbb :new B.TXT -> 水平に画面分割して B.TXT を開く :vnew B.TXT -> 垂直に画面分割して B.TXT を開く A.TXT Aaaa Aaaa Aaaa aaaa B.TXT bbbb Bbbb Bbbb bbbb Ctrl+w j Ctrl+w k Ctrl+w h Ctrl+w l 画面分割 画面移動
  • 15.
    12. .vimrc (1)&quot; syntax を有効にし、構文をハイライトにする。 syntax enable &quot; 検索で大文字小文字を区別しない。 set ignorecase &quot; 変更を保存せずに他のファイルを表示可能にする。 set hidden &quot; 自動インデント機能を有効にし、改行すると前行と同じインデントにする。 set autoindent &quot; バックアップファイルを作成する。 set backup &quot; バックアップファイルを作るディレクトリを指定する。 set backupdir=$HOME/vimbak &quot; タブをスペースにする。 set expandtab &quot; <TAB> を画面上で空白何文字分で表示するか指定する。 set tabstop=2 &quot; <TAB> キーを押した時に挿入される空白の量を指定する。 &quot; expandtab が設定されている場合は、ここで指定した数だけスペースが挿入される。 set softtabstop=2 &quot; インデントの幅を画面上で何文字分で表示するか指定する。 set shiftwidth=2
  • 16.
    12. .vimrc (2)&quot; vim が通常使う文字エンコーディングを指定する。 set encoding=utf-8 &quot; 文字化け防止。ファイルオープン時、 fileencodings に指定された &quot; エンコードにマッチしていればそれを使い、マッチしなければ &quot; encoding に指定したエンコードを使う。 set fileencodings=iso-2022-jp,sjis,euc-jp &quot; 常にステータスラインを表示する。 set laststatus=2 &quot; ステータスラインのカスタマイズ。 set statusline=%n:\ %<%f\%m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\&fileencoding!=''?&fileencoding:&encoding}]\ 0x%B=%b%=%l,%c\ %P
  • 17.
    Apendix. Ubuntuの vim は、初期状態だと vim-tiny がインストールされており、 syntax が使えない。 aptitude install vim すること。 一時的に vim を抜けて復帰するには中断->フォアグラウンド (Ctrl+z->fg) とか Screen を使う。
  • 18.
    Reference. Vimの Option については以下参照。 http://vimwiki.net/?OptionList Vim の Pluguin については以下参照。 http://www.vim.org/scripts/index.php