SlideShare a Scribd company logo
壱 から始める 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

More Related Content

PPT
始めよう!OpenStreetMap Developing
PPT
PPT
5分間版インターネット安全教室
PPT
090704 Dev Do
PPT
20100703devdo
PPT
Osc10do linux nextstep
PPT
091024 Dev Do Dabesa
PPT
090426 Dev Do
始めよう!OpenStreetMap Developing
5分間版インターネット安全教室
090704 Dev Do
20100703devdo
Osc10do linux nextstep
091024 Dev Do Dabesa
090426 Dev Do

Similar to 壱から始めるVim超入門 (20)

PDF
Vim入門 20130210
PPT
Linuxにおける開発環境
PDF
「Vim初心者によるVim入門@haman29」
PPTX
Vim勉強会
PDF
Vim の話
PPT
080720 Vim M
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PDF
易しいVim
PPTX
これだけ知っときゃなんとかなるVim
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
PDF
Vimのpluginを書く
PDF
Vimはこわくない
PPTX
今日からはじめるVim入門
KEY
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
PPTX
kyoto vim#1
PDF
VimConf 2014 from deris0126
PDF
Vim no susume
KEY
deris's tech talk ujihisa.vim3
PDF
速習Vim
PDF
rucs_vim LT
Vim入門 20130210
Linuxにおける開発環境
「Vim初心者によるVim入門@haman29」
Vim勉強会
Vim の話
080720 Vim M
(初心者向け) Vim の機能紹介@nagoya.vim #1
易しいVim
これだけ知っときゃなんとかなるVim
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vimのpluginを書く
Vimはこわくない
今日からはじめるVim入門
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
kyoto vim#1
VimConf 2014 from deris0126
Vim no susume
deris's tech talk ujihisa.vim3
速習Vim
rucs_vim LT
Ad

More from smokey monkey (10)

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

壱から始めるVim超入門

  • 1. 壱 から始める vim 超入門 @smokeymonkey 2010/01/15
  • 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:\ %<%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