Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
vim入門
shin(no)suke sato
(id:shin_no_suke)
vim study/BP Study外伝 #01
1
目的
•vimの普及
•人のvimみて我がvim直せ
2
自分の開発環境
•mac book 黒 + vmware (ubuntu or
debian)
•SliceHost
•PCは1台、開発はほぼvmware or
slicehostにsshで入って開発。mac自
体で開発は(AS3¦HTML¦C...
Vimを学ぶ前に
4
Q.IDEユーザがvimに抱く疑問
IDEは補完したり定義にジャンプしたり
できるけど、vimはできないんでしょ?
それでどこが便利なの?
5
長い回答
vimは全てショートカットと呼ばれるほど様々な処理がキータッチででき、かつそれの繰り返し
や自動実行なども簡単に書けます。またIDEを使う大きな理由である補完や定義ジャンプ(構文
の解析)なども可能です。ただ一番素敵だと思うところはC...
短い回答
CUI
7
vimを使いこなすには
shell環境とscreenを使いこなす
必要がある
8
screenへ飛ぶ
9
vimのメリット
• 高速に閲覧・編集作業ができる
• UNIX環境のファイルを直接操作することができる(winscpと
かいらない)
• ターミナル(CUI)で操作できるので、サーバーにファイル置い
ておけば、どこからでも作業できる
余談me...
vim学びの心得
•Vimマスターとか不可能
•STEP1: 最低限必要な操作を覚える
•STEPx : 日々改善、日々改善
11
Quick Start
$ vim a.txt
ihello[Esc]
:wq
$
12
起動
$ vi a.txt
$ vi -R readonly.txt
$ vi **/*.py #複数ファイルを開く
$ vi `grep -l prj **/*.*`
13
移動
移動の基本は検索。3wで3単語移動し
ますとかは有名だけど、まず使わない。
14
移動(1)
hjkl 上下左右に移動
/ ? 検索(n,N)
* # 現在の単語?を検索
f F 行内検索( ; , で続けて)
15
移動(2)
^ 行頭へ
$ 行末へ
16
移動(3)
<C-f> 下にスクロール
<C-b> 上にスクロール
2003g 特定の行へ移動(左は2003行)
G 最後の行へ移動
17
編集
起動した状態はノーマルモードと呼ばれ
ている。テキストを追加したり編集する
には基本的にインサートモードにする。
18
編集(1)
i a I A 現在の位置、行でインサートモード
o O 次、前の行でインサートモード
J 行連結
19
編集(おまけ)
<C-a> 数値の上でインクリメント
<C-x> 数値の上でデクリメント
20
削除
x 1文字削除
d<motion> 特定の箇所を削除
dd 行削除
motionには移動や検索のコマンドを入
れる、dw,d$,d/to,....
21
置換(not 検索)
r 一文字置換
c<motion> 特定の箇所を置換
cc 現在の行を置換
22
yank(yank) & paste
y<motion> 特定の箇所をヤンク
yy 特定の行をヤンク
p ペースト
23
yankring.vim
ヤンクしたデータはヤンク時だけでなく
削除(d)したりしてもヤンクされたことに
なるため、yankring.vimなどのプラグイ
ンで過去のヤンクしたものも利用できる
ようにするといい
24
やり直し
u Undo
<C-r> Redo
25
vimのテキスト選択
ヤンク、置換、削除などは範囲をどれだ
け簡単にできるかで効率が何倍も変わ
る。そのために効率的なテキスト選択に
ついて学ぶ必要があるので、よく使いそ
うな2つを紹介
26
vimの3つのテキスト選択
1. 検索による選択
2. visualモードによる選択
3. テキストオブジェクトによる選択
27
1.検索による選択
移動するのに検索が便利なように選択も
検索でやるのは結構便利なはず。
d/c - cまでを削除
y/ - までをヤン
28
2.visualモード
•名前の通りvisualにテキストを選択でき
るため、単純に可視化するためだけで
も使える。
•選択開始キーを入力してからはノーマ
ルモードと同じように移動でき、選択
後に削除やコピー、置換などをする
29
visual モード開始
v 文字単位
V 行単位
<C-V> ブロック単位
30
visual モード例
vjjjd 3行下まで移動して削除
v3w1wy 4単語をヤンク
v/ad aまでを削除
31
3.テキストオブジェクト
• hoge , <a>恵比寿のラーメン</a>
の や<a>の中やそれを含む範囲を選択
できる機能
•HTMLのタグやプログラムの文字列な
どに特によく使う
32
キー(<motion>になる)
it タグの中身
at タグの中身(タグも含む)
i( i[ i< i i .. 記号の中身
a( a[ a< a
a ..
記号の中身(記号含む)
33
テキストオブジェクトの例
dit タグの中身を削除
da の中身を削除( も削除)
yi( 括弧の中身をヤンク
surround.vimプラグイン
を使うとさらに便利に
34
検索/置換
•:[range]s/old/new/[option]
35
option 検索/置換
g
同一行の全てを置換(基本常につ
けるんじゃないかと)
c 一つずつ置換するか確認
e エラー無視(後での全置換とかで)
36
検索/置換 range
% ファイル全体
1,10 1-10行以内
visual選択した範囲
検索/置換する範囲を選択する。最大でその
ファイル全体、最小で1文字(?)
'<,'>
37
検索/置換 例
•:%s/しんすけ/しんのすけ/gc
•:'<,'>s/1500/3000/g
•:%s#/img/#/img_new/#g
38
複数ファイルの同時編集
39
バッファ
vim a.txtと起動するとa.txtのバッファが
一つ、vim a.txt b.txtとするとバッファ
が2つできる。そんな感じで編集対象の
ファイルをバッファと言い、バッファを
切り替えて、複数のファイルを同時に編
集できる。
...
バッファ&ウィンドウの利用例
1. 一つのファイルをウィンドウ分割して
編集
2. 複数のファイルをウィンドウ分割して
編集
3. 複数のファイルを一つのウィンドウで
次々に編集
41
1. 一つのファイルをウィンドウ分割して編
集
:sp or :vsp # 分割
Ctrl+w hjkl #移動
:q #ウィンドウ閉じる
42
2.複数のファイルをウィンドウ分割して
編集
$ vi **/*.txt
:vnew # ウィンドウ分割
:b 3 # 3番のバッファに切り替え
:q or :bd 3 #ウィンドウ閉じる or バッファ削除
43
3. 複数のファイルを一つのウィンドウで
次々に編集
$ vi **/*.txt
:b 3 # 3番のバッファに切り替え
:b a.txt #a.txtのバッファに切り替え
:bd 3 #3番のバッファを削除
44
バッファのうまい使い方
•プラグイン(minibufexpl.vim..)を入れて
常に自分がどのバッファを開いている
か分かると便利
•自分が編集するファイルだけでなく、
補完なども考えると、いっぺんに
10-100とか開くことも珍しくない(...
補完の種類
•vimの補完は大きく2種類
•補完(構文無関係の補完)
•オムニ補完(いわゆるIDEの補完)
46
補完
• インサートモードで<CTRL-p> , <CTRL-n>で
補完
• 補完対象は現在の開いているファイルだけで
なくてバッファ全体や補完専用のファイル
(dictionary)とかを使ってもいい
• 構文無視なので定数の中の文字列とか...
オムニ補完
•いわゆるIDEの補完のようなもので、構
文をチェックして補完対象を探し出す
•設定方法などは言語によって結構こと
なるため要確認
•<C-x>Oで補完
48
例:pythonのオムニ補完
•ctagsでTagファイルを生成しておく必
要がある
•<C-x>Oで補完
•オムニ補完とは直接関係ないがtags
ファイルを作ればジャンプなども可能
<C-]>とかで
49
インデント調整
自動整形
< 左にインデント
> 右にインデント
=<motion>
50
ソースコード・コメントアウト
NERD_comments.vim推奨
<Leader>cc コメントアウト
<Leader>u コメントアウト解除
<Leader>はvimの初期設定では ,(カンマ) 、
他のプラグインなどでも利用され、.vi...
.vimrc
• vimを起動するときに読み込まれる設定ファイ
ル
• 基本的な設定を入れて、日々改善。ネットで
公開している人も多いので自分に合わせたも
のを取り込むといい
• 起動中に再読込したい場合は.vimrcを開い
て:so %
52
.viminfo
•これまでのレジスタ(ヤンクしたもの
など)や検索・コマンド実行履歴など
を保存しているファイル。vimを終了し
てまた起動しても履歴が残っているの
はこいつのおかげ
53
コマンドモード
• :を押すと切り替わるモード。これまで説明し
た置換などさまざまなコマンドを実行できる
• :! でshellのコマンドを実行できる
• visual選択して:!でフィルタ処理ができる(これ
は便利)
54
コマンドモードtips1
•(visual選択して):!sort -対象をsort
•:r!ls でlsの結果を今の位置に取り込む
•<C-p><C-n>で過去の履歴を見れる
•<Tab>で補完も可能
55
コマンドモードtips2
•コマンドモードで%は超重要。現在の
編集対象のファイルを表す
•:!hg commit %
•:!python %
56
コマンドラインウィンドウ
•過去のコマンドを一覧・検索したり、
そこから複雑なコマンドを作ったりす
るのに便利
•q: (終了の:qの逆)
57
マクロ
• qa -> 操作 -> q = レジスタaにマクロ
を登録@aで実行できる
•マクロではないが、.で以前の操作を繰
り返し実行できる
58
プラグイン
プラグインによってvimをより強力にで
きる
59
プラグインの種類
•1 グローバルプラグイン
•2 ファイルタイププラグイン
•(autoload)
60
グローバルプラグイン
•vimを立ち上げると常に読み込まれるプ
ラグイン。
•$HOME/.vim/plugin/hoge.vim
•一般的にプラグインっていうとグロー
バルプラグインを指す事が多いかも
61
ファイルタイププラグイン
•特定のファイルタイプの時のみ読み込
まれるプラグイン
• $HOME/.vim/ftplugin/{filetype-name}.vim(unix)
•pythonのコメントは#だよねとか、
そういう初期設定をする
62
ファイルタイプ
• ファイルタイプとはどんなファイルの種類を
vimが判定したもの
• 数百種類(python , perl ,httpd.conf or
vim ..)vim7.0の標準で500以上あった
• syntax onのハイライトや...
autoload(プラグイン)
•最初に全て読み込まずに、必要に応じ
て読み込まれるスクリプト
• $HOME/.vim/autoload/hogehoge.vim(unix)
• プラグインじゃないけど、似たようなもんだから一緒
に紹介
64
プラグインの探し方
•http://www.vim.org/scripts/
script_search_results.php
65
vbaファイルって?
プラグインやテキストがまとまっている
一つのファイルvimで開いて:so %すれば
取り込まれる。バージョンによって結構
違いがある?
66
個人的に使わない機能
•fold(折りたたみ)
•autoindent(勝手にされるのがいや)
•mksession(それscreenで)
67
いくつかtipsを
68
No1.ファイルを特定の文字コードで
開きたい
:e ++enc=utf8
69
No2.ファイルを特定の文字コードで
保存したい
:set fileencoding=utf8
:w
70
No3.複数のファイルを一括置換
# bufdoで全てのバッファに、eでエラーが出て
も無視、¦で続けて実行
:bufdo %s/old/new/ge ¦ :w
# 遅い場合はバッファ切り替えのための無駄な処
理を無視させる
set ei=al...
No4.一時的に他のモードが使いたい
<C-R>レジスタ文字列( とか)
Ctrl+O
#インサートモードでペースト
#インサートモードで
ノーマルモードのコマンド実行
72
No5.ファイルの選択などを便利にしたい
•fuzzyfinder.vimプラグイン
73
No5.◎とか※とか使うとカーソルの
位置がなんかおかしい
:set ambiwidith=double
74
No6.バッファの全ての中
からgrepする
grep.vimプラグインを入れて、
:GrepBuffer str
75
Upcoming SlideShare
Loading in …5
×

vim入門 (vim study #1)

7,199 views

Published on

株式会社ビープラウドの勉強会BPStudy外伝として行われたVim studyの資料です。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

vim入門 (vim study #1)

  1. 1. vim入門 shin(no)suke sato (id:shin_no_suke) vim study/BP Study外伝 #01 1
  2. 2. 目的 •vimの普及 •人のvimみて我がvim直せ 2
  3. 3. 自分の開発環境 •mac book 黒 + vmware (ubuntu or debian) •SliceHost •PCは1台、開発はほぼvmware or slicehostにsshで入って開発。mac自 体で開発は(AS3¦HTML¦CSS)位しか利 用しない 3
  4. 4. Vimを学ぶ前に 4
  5. 5. Q.IDEユーザがvimに抱く疑問 IDEは補完したり定義にジャンプしたり できるけど、vimはできないんでしょ? それでどこが便利なの? 5
  6. 6. 長い回答 vimは全てショートカットと呼ばれるほど様々な処理がキータッチででき、かつそれの繰り返し や自動実行なども簡単に書けます。またIDEを使う大きな理由である補完や定義ジャンプ(構文 の解析)なども可能です。ただ一番素敵だと思うところはCUIでの、shell(zsh..)+screen+vimの 組み合わせによる開発です。 開発をするといっても、コードを書くだけでなくWEBサーバの設定ファイルを書いたり、ログ を確認したり、データベースを操作したり、さまざまなことをします。その時にCUIを利用して れば、以前実行したコマンドを履歴から呼び出したり、よく利用するコマンドをエイリアスに 登録するなどして、どんどん効率化していくことができます。そのため、vimのメリットを享受 するにはvimとscreenとshellの環境について一緒に学ぶことをお勧めします。繰り返します が、vimはscreen,shellなどと一緒に利用することで超素敵なことになります。そうすればも う、IDEなんか使いたくなくなる 6
  7. 7. 短い回答 CUI 7
  8. 8. vimを使いこなすには shell環境とscreenを使いこなす 必要がある 8
  9. 9. screenへ飛ぶ 9
  10. 10. vimのメリット • 高速に閲覧・編集作業ができる • UNIX環境のファイルを直接操作することができる(winscpと かいらない) • ターミナル(CUI)で操作できるので、サーバーにファイル置い ておけば、どこからでも作業できる 余談memo : pscp -r c:up_folder shin@hoge.jp: (こ れでwinSCPとかいらない) 10
  11. 11. vim学びの心得 •Vimマスターとか不可能 •STEP1: 最低限必要な操作を覚える •STEPx : 日々改善、日々改善 11
  12. 12. Quick Start $ vim a.txt ihello[Esc] :wq $ 12
  13. 13. 起動 $ vi a.txt $ vi -R readonly.txt $ vi **/*.py #複数ファイルを開く $ vi `grep -l prj **/*.*` 13
  14. 14. 移動 移動の基本は検索。3wで3単語移動し ますとかは有名だけど、まず使わない。 14
  15. 15. 移動(1) hjkl 上下左右に移動 / ? 検索(n,N) * # 現在の単語?を検索 f F 行内検索( ; , で続けて) 15
  16. 16. 移動(2) ^ 行頭へ $ 行末へ 16
  17. 17. 移動(3) <C-f> 下にスクロール <C-b> 上にスクロール 2003g 特定の行へ移動(左は2003行) G 最後の行へ移動 17
  18. 18. 編集 起動した状態はノーマルモードと呼ばれ ている。テキストを追加したり編集する には基本的にインサートモードにする。 18
  19. 19. 編集(1) i a I A 現在の位置、行でインサートモード o O 次、前の行でインサートモード J 行連結 19
  20. 20. 編集(おまけ) <C-a> 数値の上でインクリメント <C-x> 数値の上でデクリメント 20
  21. 21. 削除 x 1文字削除 d<motion> 特定の箇所を削除 dd 行削除 motionには移動や検索のコマンドを入 れる、dw,d$,d/to,.... 21
  22. 22. 置換(not 検索) r 一文字置換 c<motion> 特定の箇所を置換 cc 現在の行を置換 22
  23. 23. yank(yank) & paste y<motion> 特定の箇所をヤンク yy 特定の行をヤンク p ペースト 23
  24. 24. yankring.vim ヤンクしたデータはヤンク時だけでなく 削除(d)したりしてもヤンクされたことに なるため、yankring.vimなどのプラグイ ンで過去のヤンクしたものも利用できる ようにするといい 24
  25. 25. やり直し u Undo <C-r> Redo 25
  26. 26. vimのテキスト選択 ヤンク、置換、削除などは範囲をどれだ け簡単にできるかで効率が何倍も変わ る。そのために効率的なテキスト選択に ついて学ぶ必要があるので、よく使いそ うな2つを紹介 26
  27. 27. vimの3つのテキスト選択 1. 検索による選択 2. visualモードによる選択 3. テキストオブジェクトによる選択 27
  28. 28. 1.検索による選択 移動するのに検索が便利なように選択も 検索でやるのは結構便利なはず。 d/c - cまでを削除 y/ - までをヤン 28
  29. 29. 2.visualモード •名前の通りvisualにテキストを選択でき るため、単純に可視化するためだけで も使える。 •選択開始キーを入力してからはノーマ ルモードと同じように移動でき、選択 後に削除やコピー、置換などをする 29
  30. 30. visual モード開始 v 文字単位 V 行単位 <C-V> ブロック単位 30
  31. 31. visual モード例 vjjjd 3行下まで移動して削除 v3w1wy 4単語をヤンク v/ad aまでを削除 31
  32. 32. 3.テキストオブジェクト • hoge , <a>恵比寿のラーメン</a> の や<a>の中やそれを含む範囲を選択 できる機能 •HTMLのタグやプログラムの文字列な どに特によく使う 32
  33. 33. キー(<motion>になる) it タグの中身 at タグの中身(タグも含む) i( i[ i< i i .. 記号の中身 a( a[ a< a a .. 記号の中身(記号含む) 33
  34. 34. テキストオブジェクトの例 dit タグの中身を削除 da の中身を削除( も削除) yi( 括弧の中身をヤンク surround.vimプラグイン を使うとさらに便利に 34
  35. 35. 検索/置換 •:[range]s/old/new/[option] 35
  36. 36. option 検索/置換 g 同一行の全てを置換(基本常につ けるんじゃないかと) c 一つずつ置換するか確認 e エラー無視(後での全置換とかで) 36
  37. 37. 検索/置換 range % ファイル全体 1,10 1-10行以内 visual選択した範囲 検索/置換する範囲を選択する。最大でその ファイル全体、最小で1文字(?) '<,'> 37
  38. 38. 検索/置換 例 •:%s/しんすけ/しんのすけ/gc •:'<,'>s/1500/3000/g •:%s#/img/#/img_new/#g 38
  39. 39. 複数ファイルの同時編集 39
  40. 40. バッファ vim a.txtと起動するとa.txtのバッファが 一つ、vim a.txt b.txtとするとバッファ が2つできる。そんな感じで編集対象の ファイルをバッファと言い、バッファを 切り替えて、複数のファイルを同時に編 集できる。 40
  41. 41. バッファ&ウィンドウの利用例 1. 一つのファイルをウィンドウ分割して 編集 2. 複数のファイルをウィンドウ分割して 編集 3. 複数のファイルを一つのウィンドウで 次々に編集 41
  42. 42. 1. 一つのファイルをウィンドウ分割して編 集 :sp or :vsp # 分割 Ctrl+w hjkl #移動 :q #ウィンドウ閉じる 42
  43. 43. 2.複数のファイルをウィンドウ分割して 編集 $ vi **/*.txt :vnew # ウィンドウ分割 :b 3 # 3番のバッファに切り替え :q or :bd 3 #ウィンドウ閉じる or バッファ削除 43
  44. 44. 3. 複数のファイルを一つのウィンドウで 次々に編集 $ vi **/*.txt :b 3 # 3番のバッファに切り替え :b a.txt #a.txtのバッファに切り替え :bd 3 #3番のバッファを削除 44
  45. 45. バッファのうまい使い方 •プラグイン(minibufexpl.vim..)を入れて 常に自分がどのバッファを開いている か分かると便利 •自分が編集するファイルだけでなく、 補完なども考えると、いっぺんに 10-100とか開くことも珍しくない(?) 45
  46. 46. 補完の種類 •vimの補完は大きく2種類 •補完(構文無関係の補完) •オムニ補完(いわゆるIDEの補完) 46
  47. 47. 補完 • インサートモードで<CTRL-p> , <CTRL-n>で 補完 • 補完対象は現在の開いているファイルだけで なくてバッファ全体や補完専用のファイル (dictionary)とかを使ってもいい • 構文無視なので定数の中の文字列とかコメン トの中も補完できて便利。 47
  48. 48. オムニ補完 •いわゆるIDEの補完のようなもので、構 文をチェックして補完対象を探し出す •設定方法などは言語によって結構こと なるため要確認 •<C-x>Oで補完 48
  49. 49. 例:pythonのオムニ補完 •ctagsでTagファイルを生成しておく必 要がある •<C-x>Oで補完 •オムニ補完とは直接関係ないがtags ファイルを作ればジャンプなども可能 <C-]>とかで 49
  50. 50. インデント調整 自動整形 < 左にインデント > 右にインデント =<motion> 50
  51. 51. ソースコード・コメントアウト NERD_comments.vim推奨 <Leader>cc コメントアウト <Leader>u コメントアウト解除 <Leader>はvimの初期設定では ,(カンマ) 、 他のプラグインなどでも利用され、.vimrcな どで好みに設定できるキー変数みたいな感じ 51
  52. 52. .vimrc • vimを起動するときに読み込まれる設定ファイ ル • 基本的な設定を入れて、日々改善。ネットで 公開している人も多いので自分に合わせたも のを取り込むといい • 起動中に再読込したい場合は.vimrcを開い て:so % 52
  53. 53. .viminfo •これまでのレジスタ(ヤンクしたもの など)や検索・コマンド実行履歴など を保存しているファイル。vimを終了し てまた起動しても履歴が残っているの はこいつのおかげ 53
  54. 54. コマンドモード • :を押すと切り替わるモード。これまで説明し た置換などさまざまなコマンドを実行できる • :! でshellのコマンドを実行できる • visual選択して:!でフィルタ処理ができる(これ は便利) 54
  55. 55. コマンドモードtips1 •(visual選択して):!sort -対象をsort •:r!ls でlsの結果を今の位置に取り込む •<C-p><C-n>で過去の履歴を見れる •<Tab>で補完も可能 55
  56. 56. コマンドモードtips2 •コマンドモードで%は超重要。現在の 編集対象のファイルを表す •:!hg commit % •:!python % 56
  57. 57. コマンドラインウィンドウ •過去のコマンドを一覧・検索したり、 そこから複雑なコマンドを作ったりす るのに便利 •q: (終了の:qの逆) 57
  58. 58. マクロ • qa -> 操作 -> q = レジスタaにマクロ を登録@aで実行できる •マクロではないが、.で以前の操作を繰 り返し実行できる 58
  59. 59. プラグイン プラグインによってvimをより強力にで きる 59
  60. 60. プラグインの種類 •1 グローバルプラグイン •2 ファイルタイププラグイン •(autoload) 60
  61. 61. グローバルプラグイン •vimを立ち上げると常に読み込まれるプ ラグイン。 •$HOME/.vim/plugin/hoge.vim •一般的にプラグインっていうとグロー バルプラグインを指す事が多いかも 61
  62. 62. ファイルタイププラグイン •特定のファイルタイプの時のみ読み込 まれるプラグイン • $HOME/.vim/ftplugin/{filetype-name}.vim(unix) •pythonのコメントは#だよねとか、 そういう初期設定をする 62
  63. 63. ファイルタイプ • ファイルタイプとはどんなファイルの種類を vimが判定したもの • 数百種類(python , perl ,httpd.conf or vim ..)vim7.0の標準で500以上あった • syntax onのハイライトやコメントの仕方の 種類などが分かるのはこいつのおかげ • :set filetype で現在のファイルタイプの表 示・変更ができる 63
  64. 64. autoload(プラグイン) •最初に全て読み込まずに、必要に応じ て読み込まれるスクリプト • $HOME/.vim/autoload/hogehoge.vim(unix) • プラグインじゃないけど、似たようなもんだから一緒 に紹介 64
  65. 65. プラグインの探し方 •http://www.vim.org/scripts/ script_search_results.php 65
  66. 66. vbaファイルって? プラグインやテキストがまとまっている 一つのファイルvimで開いて:so %すれば 取り込まれる。バージョンによって結構 違いがある? 66
  67. 67. 個人的に使わない機能 •fold(折りたたみ) •autoindent(勝手にされるのがいや) •mksession(それscreenで) 67
  68. 68. いくつかtipsを 68
  69. 69. No1.ファイルを特定の文字コードで 開きたい :e ++enc=utf8 69
  70. 70. No2.ファイルを特定の文字コードで 保存したい :set fileencoding=utf8 :w 70
  71. 71. No3.複数のファイルを一括置換 # bufdoで全てのバッファに、eでエラーが出て も無視、¦で続けて実行 :bufdo %s/old/new/ge ¦ :w # 遅い場合はバッファ切り替えのための無駄な処 理を無視させる set ei=all # eventegnore 71
  72. 72. No4.一時的に他のモードが使いたい <C-R>レジスタ文字列( とか) Ctrl+O #インサートモードでペースト #インサートモードで ノーマルモードのコマンド実行 72
  73. 73. No5.ファイルの選択などを便利にしたい •fuzzyfinder.vimプラグイン 73
  74. 74. No5.◎とか※とか使うとカーソルの 位置がなんかおかしい :set ambiwidith=double 74
  75. 75. No6.バッファの全ての中 からgrepする grep.vimプラグインを入れて、 :GrepBuffer str 75

×