SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
(初心者向け)
Vim の機能とか紹介
2013/9/7 Nagoya.vim
cohama / @c0hama
自己紹介
こはま
❖ Twitter @c0hama
❖ 好きなもの Vim
➢ 戦闘力 1200 くらい
➢ プラグイン3つくらい作った
❖ お仕事は JavaScript、Ruby
❖ 関数型言語も勉強中
はじめに
まずは、Vim のおさらいをしましょう。
知ってることばかりかもしれませんがウォーミング・
アップのつもりで。
1. Vim とは?
2. 基本的なカーソル移動
3. 基本的な編集
4. オペレータとモーション
5. モード
6. 繰り返し
7. ウィンドウ・タブページ
8. ヘルプ
もくじ
1. Vim とは?
Vim ってなんなの ...
● Vim は高機能なテキストエディタ
○ もしくは環境、VM
● モードを持つ
○ カーソル移動やテキストの編集を行うノーマルモード
○ 文字の入力を行うインサートモード
○ 様々な処理を実行するコマンドラインモード
○ などなど
○ (Wikipedia によると全部で 11 のモードがあるらしい)
● カスタマイズ可能
○ Vim script というとても味わい深い言語でカスタマイズ
○ プラグインという仕組み
他のエディタに対してどうなの
● 圧倒的なまでの編集効率
○ 豊富なカーソル移動手段
○ オペレータ×モーションの組み合わせによる編集
○ 繰り返し操作
○ キーバインド
● 軽量で高速に動作
○ らしい
※ Emacs、Sublime Text もとても良いエディタで
す
CTRLや他の修飾子の使用は最小限に留めよ、
これらはタイプしにくい。
Vim 公式ヘルプドキュメント develop.txt より
● h, l, j, k でカーソル移動
● i でインサートモードに入る
● 適当に文字を入力
● <Esc> でノーマルモードに戻る
● :w<CR> で保存
● :q<CR> で終了
今何モードかわからない時はとりあえず、<Esc>を
連打すれば良い。
最低限これだけできれば!
2. 基本的なカーソル移動
カーソル移動(横)
❖ h, l は大丈夫ですよね?
❖ w, b, e, ge
➢ 単語(word)単位の移動
❖ W, E, B, gE
➢ 空白区切り(WORD)の単位の移動
➢ 空白以外の文字の塊が単語(WORD)とみなされます。
※ 単語の定義は ’iskeyword’ オプ
ションで設定
hoge fuga-piyo
wb
hoge fuga-piyo
ge e
カーソル移動(横)
❖ f{char}, F{char}
❖ t{char}, T{char}
➢ f,F と同様。ただしカーソルがひとつ手前に来る
❖ ;
➢ 直前の f,F,t,T を繰り返し
❖ ,
➢ 直前の f,F,t,T を逆方向に繰り返し
hoge fuga-piyo hogera
fhFe
faFh
カーソル移動(横)
❖ ^
➢ 行の先頭の非空白文字へ移動
❖ 0 (ゼロ)
➢ 行の先頭へ移動
❖ $
➢ 行の最後へ移動
  hoge fuga-piyo hogera
$^
0
カーソル移動(縦)
❖ j, k
❖ {, }
➢ 上(下)の空行に移動 (本当はちょっと違う)
❖ gg, G
➢ 最初(最後)の行に移動
❖ {count}G
➢ {count}行目に移動 (e.g. 100G: 100 行目に移動)
❖ {count}%
➢ ファイルの{count}%の位置に移動 (e.g. 50%: 半分の
位置)
数字との組み合わせ
コマンドの前に数字を前置すると、その回数分の
繰り返しになる
❖ 3h
➢ 3文字左へ移動
❖ 10j
➢ 10行下へ移動
❖ 2w
➢ 2単語分前方へ移動
3. 基本的な編集
❖ x
➢ 1文字削除 (delete 的なの)
❖ dd
➢ 1行削除
hoge hoe
hoge
fuga
piyo
hoge
piyo
削除
※ 行削除した後カーソルがどこに
移動するかは 'startofline'
オプションの値に依存する
※ Vim の削除は他のエディタにおける「切り取り」に近い。
つまり、削除したテキストをあとで貼り付けられる。
本当の削除には "_d を使う。
削除
❖ dw
➢ 単語を削除
➢ カーソルの位置から次の単語の先頭の一つ前まで削除
❖ d$
➢ 行末まで削除
quick brown fox quick fox
quick brown fox quick bfox
quick brown fox quick  
ヤンク(コピーのこと)、貼り付け
Vim ではいわゆるコピーのことを「ヤンク」といいま
す。
❖ yy
➢ 現在の行をヤンク
❖ yw
➢ 単語をヤンク
❖ y$
➢ 行末までヤンク
❖ p
➢ カーソルの後ろに貼り付け
❖ P
➢ カーソルの前に貼り付け
hoge
piyo
hoge
piyo
piyo
yyp
数字との組み合わせ その2
編集のためのコマンドも数字との組み合わせ可能
❖ 4x
➢ 4文字削除
❖ 3dd
➢ 3行分削除
❖ 2p
➢ 2回分貼り付け
hoge
fuga
hoge
fuga
hoge
fuga
hoge
fuga
2yyj2p
4. オペレータとモーション
復習
❖ w
➢ 1単語分前方へ移動
❖ dw
➢ 1単語削除
❖ yw
➢ 1単語ヤンク
❖ $
➢ 行末まで移動
❖ d$
➢ 行末まで削除
❖ y$
➢ 行末までヤンク
法則性がある!
オペレータとモーション
オペレータコマンドのあとに移動コマンドを入力す
ると、移動した範囲のテキストを処理できる
数字との組み合わせも可能
オペレータコマンドを2回押すと現在行に作用
d w
オペレータ モーション
オペレータコマンド
❖ d
➢ 削除
❖ y
➢ ヤンク
❖ c
➢ 削除した後インサートモードになる
❖ >, <
➢ インデントを増加/減少(行にしか作用しない:行指向)
❖ =
➢ インデントを自動調整(行指向)
組み合わせ例
❖ d2w
➢ 2単語分削除(2dw と同じ)
❖ yfa
➢ 前方の最初の a までヤンク
❖ ct)
➢ 前方の ) のひとつ手前まで削除してインサートモードに
なる
❖ 3>>
➢ 3行分のインデントを増加(>2j でも同じ)
❖ =G
➢ 最終行までのインデントを自動調整
テキストオブジェクト
オペレータとの組み合わせの時に使用できる特殊
なモーション
特定の範囲をまとめて操作対象にできる
❖ a", i"
➢ ""(double quote) で囲まれた範囲
➢ a" は " も含めるが i" はその中だけ
"Hello, world"
di"
""
テキストオブジェクト
❖ a), i)
➢ () で囲まれた範囲
➢ a) は a( にしても同じ
➢ a は ) 自身も含める
➢ ) をいろんな括弧に変えてみよう (e.g. }, ], >)
function() {
var a = 0;
a++;
return a;
}
>i}
function() {
var a = 0;
a++;
return a;
}
その他のテキストオブジェクト
❖ at, it
➢ HTML とかのタグ (e.g. <p></p>) に囲まれた範囲
❖ aw, iw
➢ 1単語の範囲
❖ aW, iW
➢ 1単語(WORD)の範囲(≒空白区切りの範囲)
❖ ap, ip
➢ 段落の範囲(≒空行の間の範囲)
オペレータとモーションの拡張
オペレータとモーション(テキストオブジェクト含む)
は拡張可能。
たいていはプラグインを入れて拡張する
例)
❖ tpope/vim-commentary
➢  で範囲をコメントアウト
❖ kana/vim-textobj-indent
➢ ai, ii でインデントが同じものをテキストオブジェクトと
して扱う
オペレータとモーションの拡張の例
commentary と textobj-indent の組み合わせ
def hello()
10.times do
p "hello"
end
p "end"
end
ai
def hello()
# 10.times do
# p "hello"
# end
# p "end"
end
5. モード
❖ ノーマルモード
❖ インサートモード
❖ ビジュアルモード
❖ コマンドラインモード
Vim のモード
インサートモード
❖ 文字を入力するためのモード
❖ インサートモードに入るための手段は豊富に用
意されている
❖ インサートモードの入り方
➢ i : カーソルの前の位置
➢ a : カーソルの後ろの位置
➢ o : カーソルの下の行
➢ O : カーソルの上の行
➢ s : 1文字削除してその位置
➢ S : 行削除してその行
インサートモード
hoge ho|ge
hoge hog|e
hoge hoge
|
hoge |
hoge
hoge ho|e
hoge |
インサートモード
❖ インサートモードの入り方(続き)
➢ I : 行の先頭(非空白文字)から挿入
(インデントのスペースやタブより左には行かない)
➢ gI : 本当に行頭から挿入
➢ A : 行末に挿入
➢ gi : 最後に挿入された位置から挿入(デモ)
➢ c{motion} : ある範囲のテキストを削除して挿入
hoge |hoge
hoge | hoge
hoge hoge|
インサートモード
❖ インサートモードで使える便利なコマンド
➢ <C-t> : 現在行のインデントを増加
➢ <C-d> : 現在行のインデントを減少
➢ <C-w> : カーソル前の単語を削除
(ただし挿入位置で一旦止まる)
➢ <C-u> : 現在行を削除
           (ただし挿入位置で一旦止まる)
➢ <C-r>" : ヤンク(コピー)した文字列を挿入
ビジュアルモード
ブラウザとか他のエディタにあるようなマウスで
ドラッグするとハイライトされるアレのこと
❖ v
➢ ビジュアルモードになる
The quick brown fox
jumps the lazy dog.
vjhh The quick brown fox
jumps the lazy dog.
The quick brown dog.
d
ビジュアルモード
❖ V (大文字)
➢ 行ビジュアルモード
❖ <C-v>
➢ 矩形ビジュアルモード
The quick brown fox
jumps the lazy dog.
V The quick brown fox
jumps the lazy dog.
The quick
brown fox
jumps the
lazy dog.
ビジュアルモード
❖ ビジュアルモードでオペレータコマンドを入力す
ることで、選択範囲に対して処理を実行できる
The quick brown fox
jumps the lazy dog.
d The quick brown dog.
ビジュアルモード
❖ 矩形ビジュアルモードを使った列編集
a = 1;
b = 2;
c = 4;
Ivar<Space><Esc>
var a = 1;
var b = 2;
var c = 4;
コマンドラインモード
● :w とか :q とかを実行するためのモード
○ Ex コマンドやコロンコマンドやコマンドラインコマンドと呼
ぶ
● ファイル操作、検索、置換など割りと複雑なこと
を行うためのモード
ファイル操作
❖ :write
➢ 上書き保存
➢ 省略して :w
❖ :quit
➢ 現在のウィンドウを閉じるコマンド
➢ Vim の終了コマンドではない!
➢ 省略して :q
❖ :save {file}
➢ いわゆる名前を付けて保存
➢ :w {file} とは微妙に違う
❖ :edit {file}
➢ ファイルを開く
検索と置換
❖ /{pattern}
➢ {pattern} を前方検索
➢ 移動コマンドとしても使えるので d/hoge といったことも
可能
❖ ?{pattern}
➢ / の後方検索バージョン
❖ :%s/{pattern}/{string}/g
➢ ファイル全体から{pattern}を検索して{string}に置
換する
➢ 実は区切りは / でなくても良い
■ :%s#/#hoge#g → / を hoge に置換
6. 繰り返し
単発繰り返し
❖ . (ドット)
➢ 直前のコマンドを繰り返す
hoge fuga piyo
dw
fuga piyo
.
piyo
println(msg)
println("hoge fuga")
println(obj.toString())
println()
println("hoge fuga")
println(obj.toString())
di)
println()
println()
println()
j.j.
マクロ
Excel とかにある操作を記録するやつ
❖ q{a-z}
➢ 操作の記録を開始する
➢ マクロの保存場所は a ~ z までの 26 個
❖ q
➢ 記録を終了
❖ @{a-z}
➢ 記録したマクロを再生する
マクロの例
println(msg)
println("hoge fuga")
println(obj.toString())
qafi) println(msg)
println("hoge fuga")
println(obj.toString())
println(msg + "!")
println("hoge fuga")
println(obj.toString())
i+ "!"<Esc>q
記録開始
記録終了
println(msg + "!")
println("hoge fuga" + "!")
println(obj.toString() + "!")
j@aj.
7. ウィンドウ・タブページ
ウィンドウ分割やタブページを使うことで一度に複
数のファイルを開くことができます
複数のファイルを編集したい
ウィンドウ分割
❖ :split {file}
➢ {file} を水平分割で開く
❖ :vsplit {file}
➢ {file} を垂直分割で開く
❖ <C-w>w
➢ 別のウィンドウへカーソルを移動
➢ <C-w><C-w> でも良い
タブページ
※ 単にタブというと <Tab> 文字のことになるので注意
❖ :tabedit {file}
➢ {file} を新しいタブページで開く
❖ gt, :tabnext
➢ 次のタブページヘ
❖ gT, :tabprevious
➢ 前のタブページヘ
8. ヘルプ
ヘルプドキュメント
Vim には最初からかなりの量のヘルプドキュメント
が用意されている。
Vim の基本的な使い方やコマンドの一覧などにつ
いて調べることが可能
ヘルプの使い方
❖ :help
➢ ヘルプドキュメントの目次を開く
❖ :help w
➢ w というコマンドについて調べる
❖ :help ^w
➢ <C-w> というコマンドについて調べる
❖ :help :w
➢ :w という Ex コマンドについて調べる
❖ :help {topic}
➢ {topic} で検索した結果について調べる
初心者におすすめの :help の記事
❖ :help usr_01
➢ ユーザマニュアル
➢ 基本から応用まで Vim について学べる
➢ usr_01 から usr_12 まで順番に読むと良い
➢ 「Vim テクニックバイブル」や「実践 Vim」よりもまずは
ユーザマニュアルを読む
❖ :help quickref
➢ いわゆるチートシートのようなもの
❖ :help option-list
➢ Vim のオプションの一覧
➢ vimrc 書くときに便利
まとめ
Vim すごい
Vim の全機能はとてもじゃないけど30分じゃ説明
できない
(quickfix、レジスタ、diff、正規表現、マーク、...)
わからないことは :help で調べる
時間があれば :help を読みましょう
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxrubymirichi_
 
松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxrubymirichi_
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„和弘 井之上
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみたEric Sartre
 
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会った
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会ったChromeが落ちる問題を 追いかけていたら libgcryptのbugに出会った
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会ったMitsutoshi Nakano
 
Vim入門 20130210
Vim入門 20130210Vim入門 20130210
Vim入門 20130210marony
 
実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技Akira Maruyama
 
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswiftSwift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswiftTomohiro Kumagai
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
XML Http Request Level2 の噂を聞いたので調べてみた
XML Http Request Level2 の噂を聞いたので調べてみたXML Http Request Level2 の噂を聞いたので調べてみた
XML Http Request Level2 の噂を聞いたので調べてみたShoot Morii
 
Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外higaki
 
VimConf 2014 from deris0126
VimConf 2014 from deris0126VimConf 2014 from deris0126
VimConf 2014 from deris0126deris0126
 
ループその3
ループその3ループその3
ループその3TENTO_slide
 
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosSwift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosTomohiro Kumagai
 
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__リテラルと型の話 #__swift__
リテラルと型の話 #__swift__Tomohiro Kumagai
 
vimの話20150111
vimの話20150111vimの話20150111
vimの話20150111yassu0320
 
Live in commandline
Live in commandlineLive in commandline
Live in commandlineKotaIsozaki
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Nextdynamis
 

Was ist angesagt? (20)

松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxruby
 
松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxruby
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
 
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会った
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会ったChromeが落ちる問題を 追いかけていたら libgcryptのbugに出会った
Chromeが落ちる問題を 追いかけていたら libgcryptのbugに出会った
 
Vim入門 20130210
Vim入門 20130210Vim入門 20130210
Vim入門 20130210
 
実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技
 
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswiftSwift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
XML Http Request Level2 の噂を聞いたので調べてみた
XML Http Request Level2 の噂を聞いたので調べてみたXML Http Request Level2 の噂を聞いたので調べてみた
XML Http Request Level2 の噂を聞いたので調べてみた
 
Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外
 
Coqでsprintf
CoqでsprintfCoqでsprintf
Coqでsprintf
 
Coqでsprintf
CoqでsprintfCoqでsprintf
Coqでsprintf
 
VimConf 2014 from deris0126
VimConf 2014 from deris0126VimConf 2014 from deris0126
VimConf 2014 from deris0126
 
ループその3
ループその3ループその3
ループその3
 
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosSwift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhios
 
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__リテラルと型の話 #__swift__
リテラルと型の話 #__swift__
 
vimの話20150111
vimの話20150111vimの話20150111
vimの話20150111
 
Live in commandline
Live in commandlineLive in commandline
Live in commandline
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Next
 

Andere mochten auch

Nagoya vim #1 about plugins
Nagoya vim #1 about pluginsNagoya vim #1 about plugins
Nagoya vim #1 about pluginssgurrr
 
Vi(m)を教えた話
Vi(m)を教えた話Vi(m)を教えた話
Vi(m)を教えた話gu4
 
Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvimpebble8888
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovimShougo
 
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014cohama
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりcohama
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014Sugoi Kanari
 
1 Linux入門 第5章 スクリーンエディタ-vi-
1 Linux入門 第5章 スクリーンエディタ-vi-1 Linux入門 第5章 スクリーンエディタ-vi-
1 Linux入門 第5章 スクリーンエディタ-vi-Enpel
 
今日からはじめるVim入門
今日からはじめるVim入門今日からはじめるVim入門
今日からはじめるVim入門Yuta Ogura
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinuxTokai University
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimShougo
 
neovim = VM
neovim = VMneovim = VM
neovim = VMShougo
 
徒手空拳で挑むサーバ管理
徒手空拳で挑むサーバ管理徒手空拳で挑むサーバ管理
徒手空拳で挑むサーバ管理anubis_369
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜Shougo
 
サーバーから始めるItインフラ入門
サーバーから始めるItインフラ入門サーバーから始めるItインフラ入門
サーバーから始めるItインフラ入門Tachibana Shintaro
 
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)Tatsuya Maruno
 
UNIXことはじめ
UNIXことはじめUNIXことはじめ
UNIXことはじめTomoya Miwa
 
サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)toyoshi
 

Andere mochten auch (20)

Nagoya vim #1 about plugins
Nagoya vim #1 about pluginsNagoya vim #1 about plugins
Nagoya vim #1 about plugins
 
Vi(m)を教えた話
Vi(m)を教えた話Vi(m)を教えた話
Vi(m)を教えた話
 
Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvim
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
 
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
 
1 Linux入門 第5章 スクリーンエディタ-vi-
1 Linux入門 第5章 スクリーンエディタ-vi-1 Linux入門 第5章 スクリーンエディタ-vi-
1 Linux入門 第5章 スクリーンエディタ-vi-
 
地獄のVimmer
地獄のVimmer地獄のVimmer
地獄のVimmer
 
今日からはじめるVim入門
今日からはじめるVim入門今日からはじめるVim入門
今日からはじめるVim入門
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
 
Vimはこわくない
VimはこわくないVimはこわくない
Vimはこわくない
 
neovim = VM
neovim = VMneovim = VM
neovim = VM
 
徒手空拳で挑むサーバ管理
徒手空拳で挑むサーバ管理徒手空拳で挑むサーバ管理
徒手空拳で挑むサーバ管理
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
 
サーバーから始めるItインフラ入門
サーバーから始めるItインフラ入門サーバーから始めるItインフラ入門
サーバーから始めるItインフラ入門
 
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
 
UNIXことはじめ
UNIXことはじめUNIXことはじめ
UNIXことはじめ
 
サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)
 

Ähnlich wie (初心者向け) Vim の機能紹介@nagoya.vim #1

Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Hiro Yoshioka
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacksHiro Yoshioka
 
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案Keisuke Umeno
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIKazuhiro Yoshikawa
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Akira Kaneda
 
vim勉強会
vim勉強会vim勉強会
vim勉強会mes51
 
as-6. スーパーバイザモード,特権命令,割り込み
as-6. スーパーバイザモード,特権命令,割り込みas-6. スーパーバイザモード,特権命令,割り込み
as-6. スーパーバイザモード,特権命令,割り込みkunihikokaneko1
 
「Vim初心者によるVim入門@haman29」
「Vim初心者によるVim入門@haman29」「Vim初心者によるVim入門@haman29」
「Vim初心者によるVim入門@haman29」Kyohei Hamada
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)icchy
 
壱から始めるVim超入門
壱から始めるVim超入門壱から始めるVim超入門
壱から始めるVim超入門smokey monkey
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチRWSJapan
 
コマンド実行結果のログ取得について
コマンド実行結果のログ取得についてコマンド実行結果のログ取得について
コマンド実行結果のログ取得についてKoji Kawaguchi
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
自動でできるかな?
自動でできるかな?自動でできるかな?
自動でできるかな?_norin_
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作アシアル株式会社
 

Ähnlich wie (初心者向け) Vim の機能紹介@nagoya.vim #1 (20)

Linuxにおける開発環境
Linuxにおける開発環境Linuxにおける開発環境
Linuxにおける開発環境
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
 
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)II
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)
 
Vim勉強会
Vim勉強会Vim勉強会
Vim勉強会
 
vim勉強会
vim勉強会vim勉強会
vim勉強会
 
as-6. スーパーバイザモード,特権命令,割り込み
as-6. スーパーバイザモード,特権命令,割り込みas-6. スーパーバイザモード,特権命令,割り込み
as-6. スーパーバイザモード,特権命令,割り込み
 
「Vim初心者によるVim入門@haman29」
「Vim初心者によるVim入門@haman29」「Vim初心者によるVim入門@haman29」
「Vim初心者によるVim入門@haman29」
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
壱から始めるVim超入門
壱から始めるVim超入門壱から始めるVim超入門
壱から始めるVim超入門
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチ
 
コマンド実行結果のログ取得について
コマンド実行結果のログ取得についてコマンド実行結果のログ取得について
コマンド実行結果のログ取得について
 
Rails vim easy
Rails vim easyRails vim easy
Rails vim easy
 
130412 kayac-cinnamon
130412 kayac-cinnamon130412 kayac-cinnamon
130412 kayac-cinnamon
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
自動でできるかな?
自動でできるかな?自動でできるかな?
自動でできるかな?
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
 
0x300
0x3000x300
0x300
 

(初心者向け) Vim の機能紹介@nagoya.vim #1