Vim勉強会#5 ujihisa発表資料
Posted at 2010/01/31ツイート
Vim勉強会5 初級者向け講座
ujihisa
- http://ujihisa.blogspot.com/
- Vancouver, Canada
初級者とは
「初級者向け講座」 … 具体的に、初級者とは?
Vim使いのレベル10
- Lv1 vimtutorを終わらせた。あるいは、hjklで移動できて保存と終了ができる
- Lv2 ビジュアルモードを使うのをやめ、y}やdawなどの素晴らしい操作性に自己陶酔する
- Lv3 自分でインストールしたプラギンの数が5を越え、ダメプラギンはすぐに判別できるようになる
- Lv4 自分で作ったプラギンをvim.orgでリリースし、何人かをLife Changingさせる
- Lv5 他のアプリケーション使用時にescやiを打鍵してしまい、イラっとする日々を送る
- Lv6 シェルは当然vimshell。ネオコンなど大規模プラギンのバグを発見し、パッチ付きで報告する
- Lv7 Vim本体のソースコードを読み、あまりの魔界に発狂する
- Lv8 他言語インタフェース
if_***
を作り、vim_dev
に投稿する。当然採用されない - Lv9 Vim本体の開発への貢献が日常になる。投稿し採用されたパッチ数が10を越える
- Lv10 神になる
つまり
- Lv1~Lv4 初級者
- Lv4~Lv7 中級者
- Lv7~Lv10 上級者
今日の目標
Lv4 自分で作ったプラギンをvim.orgでリリースし、何人かをLife Changingさせる
全員ここまでやる
Be Lv1
- Lv1 vimtutorを終わらせた。あるいは、hjklで移動できて保存と終了ができる
VimをインストールしてVimtutorを全部やる。25~30分。
$ vimtutor
Lv1の重要な点
u
- undo。無制限
- Vimは終了しない
- キャンセルは
<C-r>
A
- その行の行末から文字入力開始!
dw
(delete 'word)
- カーソル位置からその単語の終わりまでまとめて削除!
d$
- カーソル位置から行末まで削除!
dd
- その行を削除
p
,P
- 消した文字を貼付け。
P
だとVim以外のソフトのペーストのような挙動
- 消した文字を貼付け。
0
- 行頭に移動
ビジュアルモード
v
- 一文字単位のビジュアルモード
V
- 行単位のビジュアルモード
<C-v>
- 矩形選択
v
してy
でヤンク、あるいはd
で削除できる!
Be Lv2
- Lv2 ビジュアルモードを使うのをやめ、y}やdawなどの素晴らしい操作性に自己陶酔する
非オブジェクト指向言語
値x に対して、 引数2 で、 関数f を実行する
f(x, 2)
オブジェクト指向言語
値x に対して、 引数2 で、 関数f を実行する
# f(x, 2)
x.f(2)
Vimのビジュアルモード
範囲x に対して、 引数2 で、 操作f を実行する
# f(x, 2)
# x.f(2)
x2f
Vimの非ビジュアルモード
範囲x に対して、 引数2 で、 操作f を実行する
# f(x, 2)
# x.f(2)
# x2f
2fx
例: 次の空行まで削除
ビジュアルモード
v}d
非ビジュアルモード
d}
非ビジュアルモードの薦め
- 自分で画面を確認する必要がない! EP確保 (後述)
- キータイプ数が少ない!
- 範囲の大きさに依存しない!
dawは?
text-objectの一つ。
詳しくは次のSixeightさんによるtext-objectのためだけのプレゼンに刮目せよ!
Be Lv3
- Lv3 自分でインストールしたプラギンの数が5を越え、ダメプラギンはすぐに判別できるようになる
Vim plugins
インストール: 単にファイルを置くだけ
- (大抵の場合) ビルドとかいらないよ!
便利で小さいプラギン
- quickrun
- 編集中バッファを「実行」する
- git-vim
- gitをラクに使う
- smartchr
- いい感じに文字入力をラクにする
便利で大きいプラギン
- neocomplcache
- 補完!
- vimshell
- Vim scriptで実装されたシェル
- blogger.vim
- blogspot.comにブログを投稿する
自己紹介
ujihisa
- http://ujihisa.blogspot.com/
- Vancouver, Canada
自分のプロジェクト
- quickrun.vim (現在はthincaさんがメインブランチ)
- blogger.vim
- few
関わっているプロジェクト
- Termtter
- Ruby Core
最近の活動
- アメリカの大学院入試。いまは結果待ち
- 明後日カナダに帰ります
- アセンブリ言語勉強しています (LLVM, IA-32)
Be Lv4
- Lv4 自分で作ったプラギンをvim.orgでリリースし、何人かをLife Changingさせる
プラギンの作り方
- Vimを使いまくる
- こんな機能があればラクなのになあと思う
- Vim標準でその機能があるか調べる
:h
www.vim.org
にそのスクリプトがあるか調べる
#
- 大抵はすぐにいくつか見つかる
- 実際に使ってみる
- ヒドい出来具合に発狂する
- 自分で実装する
- githubで公開する
- vim.orgで公開する
今後の発展
- Vim用語を抑える
- Vim hacksを毎日読む
- Lingr Vim Roomに常駐する
Vim用語
- Bram
- 神
- 教皇
- エネミー
- hkn
Vim Hacks
- kana, ujihisa, thinca, Shougo, ukstudioらが執筆
- 時々ゲスト執筆者も。
ゲスト執筆者は常時募集中!
Lingr Vim Room
- 大勢が常に常駐
- tsukkeeさんのlingr-vimを使うとさらに快適に!
let g:loaded_vimlectur = 1
完
もどる
blog comments powered by Disqus