Vim再入門
-
Upload
bleis-tift -
Category
Technology
-
view
6.988 -
download
0
description
Transcript of Vim再入門
Vim再入門
bleis-tift
June 18,2011
自己紹介
自己紹介
Vim VS Emacs
圧倒的じゃないか!
Vim VS Emacs
圧倒的じゃないか!
Vim VS Emacs
圧倒的じゃないか!
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
何を話すか
Vimとかよくわからないので・・・
Windows上でのエディタ遍歴
Vimの何がいいの?
テキストオブジェクト
vimrcの書き方
あたりを話します。
対象
Vimに挫折したことがある人
Vim初心者~初級者
(戦闘力 500以下)
対象
Vimに挫折したことがある人
Vim初心者~初級者
(戦闘力 500以下)
対象
Vimに挫折したことがある人
Vim初心者~初級者
(戦闘力 500以下)
対象
Vimに挫折したことがある人
Vim初心者~初級者 (戦闘力 500以下)
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・
神
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・神
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
戦闘力?
vimrcの実質行数が・・・
100行以下・・・初心者
500行以下・・・初級者
1000行以下・・・中級者
1000行以上・・・上級者
測定不能・・・神
詳しくは http://vim-users.jp/2009/07/hack-39/をどうぞ
お願い
戦闘力 500程度のたぶんまだ初心者なので、変なこと言ったら突っ込みをお願いします
お願い
戦闘力 500程度のたぶんまだ初心者なので、変なこと言ったら突っ込みをお願いします
Windows上でのエディタ遍歴
Windows上でのエディタ遍歴
1. メモ帳
マジ、ホビロン!
Windows上でのエディタ遍歴
1. メモ帳
マジ、ホビロン!
Windows上でのエディタ遍歴
1. メモ帳
マジ、ホビロン!
Windows上でのエディタ遍歴
2. 秀丸
見た目が受け付けなかった・・・デザインが古臭くないですかあれ?
Windows上でのエディタ遍歴
2. 秀丸
見た目が受け付けなかった・・・デザインが古臭くないですかあれ?
Windows上でのエディタ遍歴
3. Emacs
研究室でチュートリアルだけやって挫折キーバインドが覚えられん・・・
Windows上でのエディタ遍歴
3. Emacs Esc Meta Alt Ctrl Shift
研究室でチュートリアルだけやって挫折キーバインドが覚えられん・・・
Windows上でのエディタ遍歴
4. サクラエディタ
良かったんだけど・・・コマンドの実行が微妙→ LATEXが使いづらい
Windows上でのエディタ遍歴
4. サクラエディタ
良かったんだけど・・・
コマンドの実行が微妙→ LATEXが使いづらい
Windows上でのエディタ遍歴
4. サクラエディタ
良かったんだけど・・・コマンドの実行が微妙
→ LATEXが使いづらい
Windows上でのエディタ遍歴
4. サクラエディタ
良かったんだけど・・・コマンドの実行が微妙→
LATEXが使いづらい
Windows上でのエディタ遍歴
4. サクラエディタ
良かったんだけど・・・コマンドの実行が微妙→ LATEXが使いづらい
Windows上でのエディタ遍歴
と、いうことで
Windows上でもVimを使うように
Windows上でのエディタ遍歴
と、いうことでWindows上でもVimを使うように
Vimの何がいいの?
Vimのいいところ
ノーマルモード
オペレータ
テキストオブジェクト
などなど
Vimのいいところ
ノーマルモード
オペレータ
テキストオブジェクト
などなど
Vimのいいところ
ノーマルモード
オペレータ
テキストオブジェクト
などなど
Vimのいいところ
ノーマルモード
オペレータ
テキストオブジェクト
などなど
Vimのいいところ
ノーマルモード
オペレータ
テキストオブジェクト
などなど
ノーマルモードの良さ
移動の豊富さ
移動後の豊富な挿入モードへの移行
数字との組み合わせ
オペレータとの組み合わせ
ノーマルモードの良さ
移動の豊富さ
移動後の豊富な挿入モードへの移行
数字との組み合わせ
オペレータとの組み合わせ
ノーマルモードの良さ
移動の豊富さ
移動後の豊富な挿入モードへの移行
数字との組み合わせ
オペレータとの組み合わせ
ノーマルモードの良さ
移動の豊富さ
移動後の豊富な挿入モードへの移行
数字との組み合わせ
オペレータとの組み合わせ
ノーマルモードの良さ
移動の豊富さ
移動後の豊富な挿入モードへの移行
数字との組み合わせ
オペレータとの組み合わせ
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / w・・・word
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / w・・・word
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / b・・・back
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / b・・・back
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / e・・・end
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / e・・・end
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / g・・・「ひねる」
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / / g・・・「ひねる」
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / / f・・・find
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / / f・・・find
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / / t・・・to
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / / t・・・to
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動の豊富さ
/
/ / /
/ / / / /
/
/ /
などなど
カーソル移動に hと lはあんま使わない方向で。
移動後の豊富な挿入モードへの移行
/
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append
/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ /
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert
/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???
/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute
/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute/
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute/ c・・・change
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute/ c・・・change
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute/ c・・・change
移動後の豊富な挿入モードへの移行
/ a・・・append/ / i・・・insert/ o・・・???/ s・・・substitute/ c・・・change
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→ または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→ または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→
または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→
または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→ または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→ または
直前のコマンドを 10回繰り返したい→
数字との組み合わせ
80個”=”を入力したい→
132行目に移動したい→ または
直前のコマンドを 10回繰り返したい→
オペレータとの組み合わせ
普通のエディタ・・・
操作×対象の組み合わせVi的な何か・・・操作+対象の組み合わせEmacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせ
Vi的な何か・・・操作+対象の組み合わせEmacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせVi的な何か・・・
操作+対象の組み合わせEmacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせVi的な何か・・・操作+対象の組み合わせ
Emacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせVi的な何か・・・操作+対象の組み合わせEmacs的な何か・・・
知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせVi的な何か・・・操作+対象の組み合わせEmacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
オペレータとの組み合わせ
普通のエディタ・・・操作×対象の組み合わせVi的な何か・・・操作+対象の組み合わせEmacs的な何か・・・知りません
操作をオペレータと呼ぶ対象は移動コマンドだったり、
後述するテキストオブジェクトだったり
分かれてると何が嬉しいの?
新しく対象が増えても、対象さえ覚えればすぐ使えるようになる。例:XMLのタグXMLのタグはVim7から追加された対象だけど、atと itが対象を表すと覚えるだけで、コピーや削除等の操作が可能!
分かれてると何が嬉しいの?
新しく対象が増えても、対象さえ覚えればすぐ使えるようになる。
例:XMLのタグXMLのタグはVim7から追加された対象だけど、atと itが対象を表すと覚えるだけで、コピーや削除等の操作が可能!
分かれてると何が嬉しいの?
新しく対象が増えても、対象さえ覚えればすぐ使えるようになる。例:XMLのタグ
XMLのタグはVim7から追加された対象だけど、atと itが対象を表すと覚えるだけで、コピーや削除等の操作が可能!
分かれてると何が嬉しいの?
新しく対象が増えても、対象さえ覚えればすぐ使えるようになる。例:XMLのタグXMLのタグはVim7から追加された対象だけど、atと itが対象を表すと覚えるだけで、コピーや削除等の操作が可能!
オペレータの例
などなど
オペレータの例
などなど
オペレータの例
c・・・change
などなど
オペレータの例
c・・・change
d・・・delete
などなど
オペレータの例
c・・・change
d・・・delete
y・・・yank
などなど
オペレータの例
c・・・change
d・・・delete
y・・・yank
cindent
などなど
オペレータの例
c・・・change
d・・・delete
y・・・yank
cindent
deindent
などなど
オペレータの例
c・・・change
d・・・delete
y・・・yank
cindent
deindent
indent
などなど
オペレータの例
c・・・change
d・・・delete
y・・・yank
cindent
deindent
indent
などなど
オペレータを使った作業の例
・・・単語末尾まで
・・・閉じカッコ直前まで
・・・次の段落までの矩形
もちろん他のオペレータも同じ感じ
オペレータを使った作業の例
・・・単語末尾まで削除
・・・閉じカッコ直前まで
・・・次の段落までの矩形
もちろん他のオペレータも同じ感じ
オペレータを使った作業の例
・・・単語末尾まで削除
・・・閉じカッコ直前まで削除
・・・次の段落までの矩形
もちろん他のオペレータも同じ感じ
オペレータを使った作業の例
・・・単語末尾まで削除
・・・閉じカッコ直前まで削除
・・・次の段落までの矩形削除
もちろん他のオペレータも同じ感じ
オペレータを使った作業の例
・・・単語末尾までコピー
・・・閉じカッコ直前までコピー
・・・次の段落までの矩形コピー
もちろん他のオペレータも同じ感じ
オペレータを使った作業の例
・・・単語末尾までコピー
・・・閉じカッコ直前までコピー
・・・次の段落までの矩形コピー
もちろん他のオペレータも同じ感じ
テキストオブジェクト
テキストオブジェクト?
VimScriptで Stringクラスが使えるとかそういう話ではない
ひとかたまりのテキストを扱う機能
Vim7から搭載された比較的新しい機能
テキストオブジェクト?
VimScriptで Stringクラスが使えるとかそういう話ではない
ひとかたまりのテキストを扱う機能
Vim7から搭載された比較的新しい機能
テキストオブジェクト?
VimScriptで Stringクラスが使えるとかそういう話ではない
ひとかたまりのテキストを扱う機能
Vim7から搭載された比較的新しい機能
テキストオブジェクト?
VimScriptで Stringクラスが使えるとかそういう話ではない
ひとかたまりのテキストを扱う機能
Vim7から搭載された比較的新しい機能
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクトこれに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクトこれに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクトこれに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクトこれに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクト
これに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
テキストオブジェクト、surround.vim
例えば・・・
単語
丸かっこで囲まれたテキスト
クォートで囲まれたテキスト
これがテキストオブジェクトこれに加えて、それらを囲んでいる文字を扱えるようにしたのが surround.vim
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
何ができるの?
オペレータの対象にできます。具体的には・・・
・・・delete inner double quote
・・・change a tag
・・・change surround dquote to quote
vimrcの書き方
vimrcの書き方
「Vimの極め方1」が非常に参考になるのでまずは読むこと。
vimrcを即座に開く
vimrcを即座にリロード
リローダブルな vimrcを書く
これだけじゃ丸投げなので、もうちょっと。
1http://whileimautomaton.net/2008/08/vimworkshop3-kana-presentation
vimrcの書き方
「Vimの極め方1」が非常に参考になるのでまずは読むこと。
vimrcを即座に開く
vimrcを即座にリロード
リローダブルな vimrcを書く
これだけじゃ丸投げなので、もうちょっと。
1http://whileimautomaton.net/2008/08/vimworkshop3-kana-presentation
vimrcの書き方
「Vimの極め方1」が非常に参考になるのでまずは読むこと。
vimrcを即座に開く
vimrcを即座にリロード
リローダブルな vimrcを書く
これだけじゃ丸投げなので、もうちょっと。
1http://whileimautomaton.net/2008/08/vimworkshop3-kana-presentation
vimrcの書き方
人の vimrcをそのままは使わない
mswin.vimは使わない
vimrcをいい感じに開く/リロードする
vim-users.jpのVim Hacksを読む
vimrcの書き方
人の vimrcをそのままは使わない
mswin.vimは使わない
vimrcをいい感じに開く/リロードする
vim-users.jpのVim Hacksを読む
vimrcの書き方
人の vimrcをそのままは使わない
mswin.vimは使わない
vimrcをいい感じに開く/リロードする
vim-users.jpのVim Hacksを読む
vimrcの書き方
人の vimrcをそのままは使わない
mswin.vimは使わない
vimrcをいい感じに開く/リロードする
vim-users.jpのVim Hacksを読む
vimrcの書き方
人の vimrcをそのままは使わない
mswin.vimは使わない
vimrcをいい感じに開く/リロードする
vim-users.jpのVim Hacksを読む
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』
自分のペースで徐々に育てていくのが大事
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』
自分のペースで徐々に育てていくのが大事
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』
自分のペースで徐々に育てていくのが大事
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』
自分のペースで徐々に育てていくのが大事
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』2
自分のペースで徐々に育てていくのが大事
2http://d.hatena.ne.jp/pcmaster/20090429/p1
人のvimrcをそのまま使わない
人の設定が自分に合うとは限らない
不要な設定とかも一杯あるかもしれない
部分的にはパクっても、全部はパクらない方がいい→使いこなせない
『そうやって一口にVimというがね、僕が好きなのは僕のVimだけなんだ。ひとのVimは大嫌いだ。』2
自分のペースで徐々に育てていくのが大事
2http://d.hatena.ne.jp/pcmaster/20090429/p1
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわー
もし vimrcに source mswin.vimってあったら躊躇せずに削除!
mswin.vimは使わない
で全選択
で切り取り
でコピー
で貼り付け
ないわーもし vimrcに source mswin.vimってあったら
躊躇せずに削除!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードにとは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードに
とは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードに
とは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードに
とは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードに
とは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードにとは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードにとは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードにとは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
ちょっと説明
Vimでは・・・
でカーソル位置の数字をインクリメント
でカーソル位置の数字をデクリメント
で挿入モードからノーマルモードにとは違い、InsertLeaveのトリガにならない
で矩形選択モードに
という便利な機能がある。
それをすてるなんてとんでもない!
vimrcをいい感じに開く
.
< Space>< Space>で vimrcが、< Space><Tab>で gvimrcが開く
.
.
.
let vimrcbody = ’$HOME/vimfiles/rc/vimrc.vim’
let gvimrcbody = ’$HOME/vimfiles/rc/gvimrc.vim’
function! OpenFile(file)
let empty_buffer = line(’$’) == 1 && strlen(getline(’1’)) == 0
if empty_buffer && !&modified
execute ’e ’ . a:file
else
execute ’tabnew ’ . a:file
endif
endfunction
command! OpenMyVimrc call OpenFile(vimrcbody)
command! OpenMyGVimrc call OpenFile(gvimrcbody)
nnoremap <Space><Space> :<C-u>OpenMyVimrc<CR>
nnoremap <Space><Tab> :<C-u>OpenMyGVimrc<CR>
単に開くんじゃなくて、状態によって開き方が変わるようにしてあります。
vimrcをいい感じに開く
.
< Space>< Space>で vimrcが、< Space><Tab>で gvimrcが開く
.
.
.
let vimrcbody = ’$HOME/vimfiles/rc/vimrc.vim’
let gvimrcbody = ’$HOME/vimfiles/rc/gvimrc.vim’
function! OpenFile(file)
let empty_buffer = line(’$’) == 1 && strlen(getline(’1’)) == 0
if empty_buffer && !&modified
execute ’e ’ . a:file
else
execute ’tabnew ’ . a:file
endif
endfunction
command! OpenMyVimrc call OpenFile(vimrcbody)
command! OpenMyGVimrc call OpenFile(gvimrcbody)
nnoremap <Space><Space> :<C-u>OpenMyVimrc<CR>
nnoremap <Space><Tab> :<C-u>OpenMyGVimrc<CR>
単に開くんじゃなくて、状態によって開き方が変わるようにしてあります。
vimrcをいい感じに開く
.
< Space>< Space>で vimrcが、< Space><Tab>で gvimrcが開く
.
.
.
let vimrcbody = ’$HOME/vimfiles/rc/vimrc.vim’
let gvimrcbody = ’$HOME/vimfiles/rc/gvimrc.vim’
function! OpenFile(file)
let empty_buffer = line(’$’) == 1 && strlen(getline(’1’)) == 0
if empty_buffer && !&modified
execute ’e ’ . a:file
else
execute ’tabnew ’ . a:file
endif
endfunction
command! OpenMyVimrc call OpenFile(vimrcbody)
command! OpenMyGVimrc call OpenFile(gvimrcbody)
nnoremap <Space><Space> :<C-u>OpenMyVimrc<CR>
nnoremap <Space><Tab> :<C-u>OpenMyGVimrc<CR>
単に開くんじゃなくて、状態によって開き方が変わるようにしてあります。
vimrcをいい感じにリロードする
.
F5でリロードされる
.
.
.
function! SourceIfExists(file)
if filereadable(expand(a:file))
execute ’source ’ . a:file
endif
echo ’Reloaded vimrc and gvimrc.’
endfunction
nnoremap <F5> <Esc>:<C-u>source $MYVIMRC<CR>
\ :source $MYGVIMRC<CR>
\ :call SourceIfExists(’~/vimfiles/ftplugin/’ . &filetype . ’.vim’)<CR>
filetypeの設定も読み直すようにしてます。HHK Pro JP買ったら見直した方がいいかも・・・
vimrcをいい感じにリロードする
.
F5でリロードされる
.
.
.
function! SourceIfExists(file)
if filereadable(expand(a:file))
execute ’source ’ . a:file
endif
echo ’Reloaded vimrc and gvimrc.’
endfunction
nnoremap <F5> <Esc>:<C-u>source $MYVIMRC<CR>
\ :source $MYGVIMRC<CR>
\ :call SourceIfExists(’~/vimfiles/ftplugin/’ . &filetype . ’.vim’)<CR>
filetypeの設定も読み直すようにしてます。HHK Pro JP買ったら見直した方がいいかも・・・
vimrcをいい感じにリロードする
.
F5でリロードされる
.
.
.
function! SourceIfExists(file)
if filereadable(expand(a:file))
execute ’source ’ . a:file
endif
echo ’Reloaded vimrc and gvimrc.’
endfunction
nnoremap <F5> <Esc>:<C-u>source $MYVIMRC<CR>
\ :source $MYGVIMRC<CR>
\ :call SourceIfExists(’~/vimfiles/ftplugin/’ . &filetype . ’.vim’)<CR>
filetypeの設定も読み直すようにしてます。
HHK Pro JP買ったら見直した方がいいかも・・・
vimrcをいい感じにリロードする
.
F5でリロードされる
.
.
.
function! SourceIfExists(file)
if filereadable(expand(a:file))
execute ’source ’ . a:file
endif
echo ’Reloaded vimrc and gvimrc.’
endfunction
nnoremap <F5> <Esc>:<C-u>source $MYVIMRC<CR>
\ :source $MYGVIMRC<CR>
\ :call SourceIfExists(’~/vimfiles/ftplugin/’ . &filetype . ’.vim’)<CR>
filetypeの設定も読み直すようにしてます。HHK Pro JP買ったら見直した方がいいかも・・・
vim-users.jpのVim Hacksを読む
これを読まずに何を読む!まだ全部読める量なので、今のうちに!
vim-users.jpのVim Hacksを読む
これを読まずに何を読む!
まだ全部読める量なので、今のうちに!
vim-users.jpのVim Hacksを読む
これを読まずに何を読む!まだ全部読める量なので、今のうちに!
おぬぬめのHacks
Hack2 Vimを使う前に見直しておきたいポイント
Hack34 Vimのディレクトリ構成
Hack45 helpを引く
Hack161 Command-line windowを使いこなす
Hack189 Emacsのプラグインに対応する Vimプラグイン
Hack215 Vundleで pluginをモダンに管理する
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
おまけ:おぬぬめプラグイン
Vundle
unite.vim, neocomplcache, vimshell, vimfiler,echodoc
surround.vim(vim-surround)
git-vim
template.vim
eregex.vim
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone
→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone
→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone
→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
vimrcを書いたら・・・
githubとかに公開しましょう
新しい環境にVimを入れたら githubからclone→慣れ親しんだ環境をすぐに構築!
みんなで vimrc読書会とか面白そうじゃね?
というかVimScript教えて
質問タイム
おわり
なんかこの後問い詰められるそうです。こわい。
おわり
なんかこの後問い詰められるそうです。こわい。