SlideShare a Scribd company logo
1 of 38
Download to read offline
Vimはこわくない
   Nabe
自己紹介
Nabe
ひたすらVimmerです
最近ほんのりと
 Emacs使い始めてます



                2
3
私は戦争が好きだ。




             4
私は戦争が好きだ。
私は戦争が好きだ。




             5
私は戦争が好きだ。
私は戦争が好きだ。
私は戦争が大好きだ。




              6
エディタ戦争
vi(Vim)とEmacsの
 終わりなき宗教戦争




                  7
エディタ戦争
vi(Vim)とEmacsの
 終わりなき宗教戦争
最近の状況は、
 言ってしまえば
 ただの好みの問題
 (だと思ってる)

                  8
エディタ戦争
ちなみに読み方は
 vi/Vim = ヴィーアイ/ヴィム
 Emacs = イーマックス
 ですよ



                      9
大事なこと
どちらのエディタを使う場合も
 慣れる事が重要です
考えずに指が動くぐらいまで
 使い込みましょう



                  10
本日のお題
Vimをカスタマイズしましょう




                   11
カスタマイズ方法
設定を直接記述する
プラグインを追加・設定する




                 12
カスタマイズ方法
設定ファイル
 $HOME/.vimrc
各種ファイル置き場
 $HOME/.vim/
最低限これさえ知っておけば
 だいたいOK
                 13
カスタマイズ
まずは基本的なところから




                14
#1 文字コード
ファイルの文字コードを
 自動認識

 set fencs=utf-8,shift-jis
 ,euc-jp,latin1 ↵
 set ambw=double


                             15
#2 表示カスタマイズ
タブ文字や、行末のスペースを
 可視化

 set list ↵
 set listchars=tab:>-,trail:-
 ,nbsp:%,extends:>,precedes:<


                                16
#3 情報表示
現在開いているファイルの
 名前や文字コード等を表示
set statusline=%F%m%r%h%w¥%
=%y¥[%{&ff}]¥[%{&fenc!=''?&fenc
:&enc}]¥[%l/%L] ↵
set laststatus=2

~/.vimrc   [vim][unix][utf-8][40/87]
                                       17
#4 プラグイン管理
Vimのプラグインは
 手作業で管理するのは大変。




                 18
#4 プラグイン管理
~/.vimrc
~/.vim/
  after/      ftdetect/
  autoload/   ftplugin/
  compiler/   syntax/
  colors/     indent/
  doc/        macros/
  plugin/

                          19
#4 プラグイン管理
各フォルダにファイルが分散
1つバージョンアップしようと
 すると、いろんなディレクトリ
 をまたいで作業する必要がある



                  20
#4 プラグイン管理
プラグインを管理する
 仕組みが欲しい




              21
#4 プラグイン管理
Vimのプラグインマネージャ




                  22
#4 プラグイン管理
Vimのプラグインマネージャ
vimball
 →Pathogen(+git submodule)
 →Vundle
 →NeoBundle


                             23
NeoBundle
プラグイン名を書いておけば
 自動インストール
 更新
Git, Githubに標準対応
これらのことを自動的に
 やってくれます。
                    24
インストール
Githubからダウンロード
$ mkdir ~/.bundle
$ cd ~/.bundle
$ git clone git://github.com/ほげほげ




                                    25
インストール
ファイル等の管理方針
 ~/.bundle
  自動更新
 ~/.vimrc
  ~/.vim
  自分で管理(git等)
                26
インストール
~/.vimrc に記述
set nocompatible
filetype off




                   27
インストール
~/.vimrc に記述
if has('vim_starting')
  set runtimepath+=
    ~/.bundle/neobundle.vim
  call neobundle#rc
    (expand('~/.bundle'))
endif


                              28
インストール
~/.vimrc に記述
NeoBundle 'Shougo/neobundle.vim‘
filetype plugin on
filetype indent on




                                   29
インストール
インストール
:source %
:NeoBundleInstall!




                     30
インストール
これでインストールが
 完了しました。




              31
プラグインの追加
~/.vimrc に記述
NeoBundle ‘hogehoge’


インストール
:NeoBundleInstall



                       32
プラグインの更新
コマンドを実行
:NeoBundleInstall!




                     33
簡単にできる
環境を作ってしまえば
 あとは結構楽にいける




              34
使用中のプラグイン

Zenburn      neco-ghc
ghcmod-vim   neobundle.vim
gist-vim     open-browser.vim
info.vim     unite-colorscheme




                                 35
使用中のプラグイン

unite-font      vim-ref
unite-haddock   vimproc
unite.vim       w3m.vim
vim-markdown    webapi-vim
vim-quickrun



                             36
使用中のプラグイン
どんどん増えます。
新しいプラグインを入れると
 たまに動かなかったりして
 頭抱えますが、だいたい
 何とかなります。


                 37
終わりに
Vimはこわくないよ!
使えば使うほど手になじむ。
みんなも使おう!




                 38

More Related Content

What's hot

Vim = VM
Vim = VMVim = VM
Vim = VMShougo
 
neovim = VM
neovim = VMneovim = VM
neovim = VMShougo
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜Shougo
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tinygu4
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?Masahiro Sano
 
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発Daisuke Kikuchi
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacsShougo
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。Eiji Kuroda
 
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)deris0126
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacsShougo
 
秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えてYuta Ogura
 
Vagrant packana16-otahi
Vagrant packana16-otahiVagrant packana16-otahi
Vagrant packana16-otahiHiroshi Ota
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntuKenichi Takahashi
 
Ember.js導入
Ember.js導入Ember.js導入
Ember.js導入teamcpaw
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrantYu Ito
 
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみたMasahiko Hashimoto
 
タイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメタイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメTakuto Matsuu
 

What's hot (20)

Vim = VM
Vim = VMVim = VM
Vim = VM
 
neovim = VM
neovim = VMneovim = VM
neovim = VM
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
 
Tdd vim
Tdd vimTdd vim
Tdd vim
 
Vimの魔術
Vimの魔術Vimの魔術
Vimの魔術
 
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。
 
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacs
 
秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて
 
Vagrant packana16-otahi
Vagrant packana16-otahiVagrant packana16-otahi
Vagrant packana16-otahi
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 
Monit
MonitMonit
Monit
 
Ember.js導入
Ember.js導入Ember.js導入
Ember.js導入
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
 
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみた
 
タイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメタイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメ
 

Similar to Vimはこわくない

「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理gu4
 
Python Kyoto study LT
Python Kyoto study LTPython Kyoto study LT
Python Kyoto study LTNaoya Inada
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるにはvi-iv
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0Satoshi Kume
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-toolNaruto TAKAHASHI
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんやTakuya ASADA
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集Wataru NOGUCHI
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929hiro345
 

Similar to Vimはこわくない (20)

「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
Vimの基本設定
Vimの基本設定Vimの基本設定
Vimの基本設定
 
Python Kyoto study LT
Python Kyoto study LTPython Kyoto study LT
Python Kyoto study LT
 
Vimperator abc
Vimperator abcVimperator abc
Vimperator abc
 
Code Pack の話
Code Pack の話Code Pack の話
Code Pack の話
 
Tmux
TmuxTmux
Tmux
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるには
 
Tmux
TmuxTmux
Tmux
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-tool
 
Open VZ
Open VZOpen VZ
Open VZ
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
 
LinAction Theme Docker
LinAction Theme DockerLinAction Theme Docker
LinAction Theme Docker
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
Let's play with Goldfish
Let's play with GoldfishLet's play with Goldfish
Let's play with Goldfish
 

Vimはこわくない