SlideShare a Scribd company logo
1 of 18
壱 から始める vim 超入門 @smokeymonkey 2010/01/15
0.目的 ,[object Object],[object Object],[object Object]
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:%<%fm%r%h%w[%{&fileformat}][%{has('multi_byte')&&amp;fileencoding!=''?&fileencoding:&encoding}]0x%B=%b%=%l,%c%P
Apendix.  ,[object Object],[object Object]
Reference.  ,[object Object],[object Object],[object Object],[object Object]

More Related Content

More from smokey monkey

AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevioAWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdeviosmokey monkey
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdeviosmokey monkey
 
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」smokey monkey
 
第22回北海道開発オフ 成果発表
第22回北海道開発オフ 成果発表第22回北海道開発オフ 成果発表
第22回北海道開発オフ 成果発表smokey monkey
 
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」smokey monkey
 
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」smokey monkey
 
LDD11/Winter:LT発表
LDD11/Winter:LT発表LDD11/Winter:LT発表
LDD11/Winter:LT発表smokey monkey
 

More from smokey monkey (10)

AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevioAWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
 
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」
第2回とにかくこれを聴けカンファレンス「"NewJackSwing" changed the world」
 
第22回北海道開発オフ 成果発表
第22回北海道開発オフ 成果発表第22回北海道開発オフ 成果発表
第22回北海道開発オフ 成果発表
 
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」
お⽗さん・お⺟さんの為の 「ニコニコ生放送と 上手に付き合う方法」
 
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」
第1回とにかくこれを聴けカンファレンスOpening & 発表資料「アルマゲドンしか知らないニワカの為のAEROSMITH入門」
 
LDD11/Winter:LT発表
LDD11/Winter:LT発表LDD11/Winter:LT発表
LDD11/Winter:LT発表
 
090418 Secpolo
090418 Secpolo090418 Secpolo
090418 Secpolo
 
090411 Dev Do
090411 Dev Do090411 Dev Do
090411 Dev Do
 
Slide
SlideSlide
Slide
 

壱から始めるVim超入門

  • 1. 壱 から始める vim 超入門 @smokeymonkey 2010/01/15
  • 2.
  • 3. 1.基本移動 j k h 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 A i 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 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 画面分割 画面移動
  • 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:%<%fm%r%h%w[%{&fileformat}][%{has('multi_byte')&&amp;fileencoding!=''?&fileencoding:&encoding}]0x%B=%b%=%l,%c%P
  • 17.
  • 18.