2010.11.13 6 Web #YWebGrp第 回山口県 勉強会 1
Vim 初心者による Vim 入門
@haman29
2
自己紹介
● 浜田 恭平 /カトウくん/はまーん
● 学生:宇部高専 専攻科 経営情報工学専攻
● 研究: SBM 上でのレコメンド , 照応解析
● 就職:来年度から Web エンジニア (ecnavi.co.jp)
● Vim 歴: 1 年ちょっと
● コンタクト
● Twitter      : @haman29
● Facebook  : kyohei.hamada
● Skype  : khama0129
3
Vim って何?
●
プログラマ向けのテキストエディタ
● テキストエディタの例
● メモ帳 , 秀丸 ,Terapad,IMEditor,Emacs,IDE 付属
● しばしば Emacs と比較される
●
操作が特殊 ( モード )
4
歴史
●
軽量の Vi
↓
● 機能豊富な Vim
● Vi IMitation( 模倣 )   Vi IMproved (→ 改良)
※ 詳しくはググってください
5
出会い
●
3 年前 講義で Vi を知る
● 1 年前 インターンシップで Vim を使う
● 社員さんの手つきがかっこいい
● 使いこなしたい欲
● 今ではコーディングは Vim オンリー
● まだまだ初心者
※Emacs や IDE 付属のエディタについてはほとんど触ったことがありません
6
おいしいところ
 CUI
 軽い
 サーバ管理 (ex ssh でログインしていじる )
 カスタマイズ性
 設定ファイル (.vimrc) ,各種 Plugin
 慣れるとコーディングのスピードが速い
 習得コストは高い
 コードを書いていて気持ちいい
 手つきがプロっぽい
7
導入
● Windows
● KaoriYa Vim7.3(2010.11.13 現在 )
 http://www.kaoriya.net/#VIM
 Ubuntu(Linux)
● デフォルトは Vi(vim­tiny)
● $ sudo apt­get install vim
● Mac
● MacVim  デフォルトで入っている
8
モード
Normal
( ノーマル )
Command
(EX)
Insert
( 挿入 )
Visual
( ビジュアル )
ESC
ESC
ESC
v,V
Ctrl+v
i,a,o
I,A,O
:
/,?
h,j,k,l,^,$
y,p,d,x
※ESC( エスケープ ) を多用する
選択 置換,検索など
移動 , 削除 , コピー , 貼付など
9
Normal( ノーマル )
 h,j,k,l 4方向 . 左 (h), 下 (j), 上 (k), 右 (l) に移動
 ^,$ 行頭 ( ^), 行末 ($) に移動
 G,gg ファイルの先頭 (gg), 末尾 (G) に移動

dd,yy 1 行削除 (dd),1 行ヤンク / コピー (yy)
 p ペースト
 u,Ctrl+r アンドゥ (u) &リドゥ (Ctrl+r)
移動
10
Insert( 挿入 )

i,I,A  その場 (i), 行の先頭 (I), 行の末尾 (A)

o,O 前の行 (o), 後ろの行 (O)
11
Command(EX)
 :wq 保存&終了
 /hoge ”hoge" を検索
 :%s/hoge/fuga/g ”hoge” を” fuga” に置換
12
Visual( ビジュアル )
 v,V   その場 (v), 行ごと (V) 
13
デモ1
~独特な操作~
14
カスタマイズ
●
ディレクトリ構造 (Ubuntu の例 )
    $HOME/.vimrc  設定ファイル
    $HOME/.vim/
     Autoload/  自動的に読み込まれるスクリプト
     colors/ 色テーマ定義ファイル
     doc/  ヘルプドキュメント
  ftplugin/  ファイルタイププラグイン
  Indent/  インデントスクリプト
  plugin/  プラグインスクリプト
     syntax/  文法ファイル
    .../  他にもたくさんあります
15
.vimrc( 設定ファイル )
番号,タブ幅,文字コード,カラースキーマの設定など
※ 前述のコマンド (EX) モードでも設定できる
浜田の例
( 一部 )
僕も他人の .vimrc をコピペして使っているレベルなのでまだまだです
16
プラグイン
 http://www.vim.org/scripts/  で探す
 hoge.vim $HOME/.vim/plugin/ に配置
 hoge.tar.gz .zip 解凍して指定されたディレクトリに配置
17
浜田が入れている plugin 例
 Neocomplcache
 補完候補を自動でポップアップ
 https://github.com/Shougo/neocomplcache
 NERD commenter
 楽にコメントアウト
 https://github.com/scrooloose/nerdcommenter
18
デモ2
~ プラグイン導入 ~
19
Tips1
 矩形選択 (Ctrl+v) * 「くけい」と読む
 I 選択した範囲の箇所に文字列を挿入
 $A 選択した範囲の行末に文字列を挿入
20
Tips2

画面分割
 :split [filename] 横分割
 :vsplit [filename] 縦分割
 Ctrl+w h,j,k,l 画面間の移動
 タブ
 tabnew [filename] タブで開く
 gt,gT タブ間の移動
21
Tips3

qa, qb... マクロ (@a,@b で呼ぶ )
 Ctrl+a, Ctrl+x インクリメント & デクリメント
 !php % shell  での "php hoge.php" と同義
 r!date 現在時刻の挿入 (shell)
 選択 :sort 選択した箇所を sort  する
22
おまけ ( チートシート )
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html より引用
23
まとめ
慣れると
速いのが Vim
慣れないと
使えないのが Vim
24
ありがとうございました .

More Related Content

PDF
30days Album の裏側 + 表側
PDF
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
PDF
芸人を 目指すわけでは ないけれど…(n575)
PDF
黒い画面克服委員会 Vol.1
PDF
Firefoxのすゝめ
PDF
mruby for embedded systems
PPS
PowerShellで.NETとCOMとWMI
PDF
スペシャリストになるには
30days Album の裏側 + 表側
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
芸人を 目指すわけでは ないけれど…(n575)
黒い画面克服委員会 Vol.1
Firefoxのすゝめ
mruby for embedded systems
PowerShellで.NETとCOMとWMI
スペシャリストになるには

Similar to 「Vim初心者によるVim入門@haman29」 (20)

PDF
Vim の話
PPTX
20130316 プログラミング言語Go
PPTX
FINAL FANTASY Record Keeperを支えたGolang
PDF
hooks riverpod + state notifier + freezed でのドメイン駆動設計
PDF
Opa - Cloud Language
PPTX
Golang tokyo #7 qtpm
PDF
20221031_SD輪読&座談会#42_kitazaki.pdf
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
PDF
L-1グランプリ "D言語"
PDF
20130824 Lightweight Language "Go" @LL matsuri
PDF
zend_parse_parametersと64bit環境
PDF
Runtime c++editing
PDF
Groovy Bootcamp 2015 by JGGUG
KEY
Titanium実装最初の一歩.
PPTX
もしも… Javaでヘテロジニアスコアが使えたら…
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PDF
マイクロサービス時代の動画配信基Ruby×go=∞
PDF
Goでかんたんソースコードの静的解析
PDF
Titanium Mobile ~本当にあったこわい話~
Vim の話
20130316 プログラミング言語Go
FINAL FANTASY Record Keeperを支えたGolang
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Opa - Cloud Language
Golang tokyo #7 qtpm
20221031_SD輪読&座談会#42_kitazaki.pdf
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
L-1グランプリ "D言語"
20130824 Lightweight Language "Go" @LL matsuri
zend_parse_parametersと64bit環境
Runtime c++editing
Groovy Bootcamp 2015 by JGGUG
Titanium実装最初の一歩.
もしも… Javaでヘテロジニアスコアが使えたら…
(初心者向け) Vim の機能紹介@nagoya.vim #1
マイクロサービス時代の動画配信基Ruby×go=∞
Goでかんたんソースコードの静的解析
Titanium Mobile ~本当にあったこわい話~

More from Kyohei Hamada (6)

PPT
Sotsuken final
PPT
Sotsuken half
PPT
詐欺メイクちゃんねる(仮)
PPT
資格取得に向けての活動記録
PDF
Visualization of Relationship between Social Bookmark Users
PPT
Visualization of Relationship between Social Bookmark Users
Sotsuken final
Sotsuken half
詐欺メイクちゃんねる(仮)
資格取得に向けての活動記録
Visualization of Relationship between Social Bookmark Users
Visualization of Relationship between Social Bookmark Users

「Vim初心者によるVim入門@haman29」