Submit Search
Nagoya vim #1 about plugins
3 likes
6,692 views
S
sgurrr
1 of 25
Download now
Downloaded 13 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
More Related Content
PDF
Vimはこわくない
Yuichi Watanabe
PDF
neobundle.vimについて+おまけ
Shougo
PDF
Tech oyaji ksmakoto_presen
Makoto Kishimoto
ODP
Vimperator abc
洸人 高橋
PDF
Unite vim
Shougo
PDF
VBScriptのダメなところ~その1~
bouzuya
PDF
WSHで遊ぼう!
bouzuya
PDF
Cygwin 1.7 の紹介
fd0
Vimはこわくない
Yuichi Watanabe
neobundle.vimについて+おまけ
Shougo
Tech oyaji ksmakoto_presen
Makoto Kishimoto
Vimperator abc
洸人 高橋
Unite vim
Shougo
VBScriptのダメなところ~その1~
bouzuya
WSHで遊ぼう!
bouzuya
Cygwin 1.7 の紹介
fd0
What's hot
(19)
PDF
Vim = VM
Shougo
PDF
Shougoの開発環境
Shougo
PDF
Bmd
Yuichiro Naito
PDF
neovim = VM
Shougo
PDF
NanoStrand
Masashi Umezawa
PDF
Contao Open Source CMS / Contao 3.3に向けて
Takahiro Kambe
PDF
Happy status Coding
yoshinori matsumoto
ODP
Lt
LGA128
PDF
汎用apiサーバの構築
Hidetoshi Mori
PDF
そろそろSublime Text 2を熱く語ろうと思う
Tadayuki Onishi
PDF
Nodejsによるapiサーバ構築事例
Hidetoshi Mori
PDF
Ruby on FreeBSD 2020
Koichiro Iwao
PDF
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
PDF
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
PDF
SDK for NFC Starter Kit(2) 使ってみる
Hirokuma Ueno
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
ODP
PHP With Windows binary
Masahiko Sakamoto
PDF
Tide - SmalltalkでSPA
Masashi Umezawa
PPTX
Argosの紹介 #x86study
Tokoroten Nakayama
Vim = VM
Shougo
Shougoの開発環境
Shougo
Bmd
Yuichiro Naito
neovim = VM
Shougo
NanoStrand
Masashi Umezawa
Contao Open Source CMS / Contao 3.3に向けて
Takahiro Kambe
Happy status Coding
yoshinori matsumoto
Lt
LGA128
汎用apiサーバの構築
Hidetoshi Mori
そろそろSublime Text 2を熱く語ろうと思う
Tadayuki Onishi
Nodejsによるapiサーバ構築事例
Hidetoshi Mori
Ruby on FreeBSD 2020
Koichiro Iwao
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
SDK for NFC Starter Kit(2) 使ってみる
Hirokuma Ueno
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
PHP With Windows binary
Masahiko Sakamoto
Tide - SmalltalkでSPA
Masashi Umezawa
Argosの紹介 #x86study
Tokoroten Nakayama
Ad
Viewers also liked
(9)
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
cohama
PDF
すごいVimでhaskellを書こう@なごやまつり
cohama
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
cohama
PDF
Vim の開発環境
eagletmt
PDF
Using xvim with macvim
pebble8888
PDF
VimConf 2014 from deris0126
deris0126
PDF
Let's talk about neovim
Shougo
PDF
Auto closing parenthesis @vim conf2014
cohama
PDF
かなりすごい発表(かなり) at VimConf2014
Sugoi Kanari
Vim script と vimrc の正しい書き方@nagoya.vim #1
cohama
すごいVimでhaskellを書こう@なごやまつり
cohama
(初心者向け) Vim の機能紹介@nagoya.vim #1
cohama
Vim の開発環境
eagletmt
Using xvim with macvim
pebble8888
VimConf 2014 from deris0126
deris0126
Let's talk about neovim
Shougo
Auto closing parenthesis @vim conf2014
cohama
かなりすごい発表(かなり) at VimConf2014
Sugoi Kanari
Ad
Similar to Nagoya vim #1 about plugins
(20)
PDF
Goでかんたんソースコードの静的解析
Takuya Ueda
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
gu4
PPTX
Golang tokyo #7 qtpm
Yoshiki Shibukawa
PDF
kyotovim#1
Naoya Inada
PDF
Vim の話
cohama
PDF
#logstudy 01 rsyslog入門
Takashi Takizawa
PPTX
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
PPTX
Gstreamer Basics
Seiji Hiraki
PDF
Programming camp 2008, Codereading
Hiro Yoshioka
PPT
メタプログラミングって何だろう
Kota Mizushima
PDF
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro
PPTX
Packerで自動化
Shintaro Hasunuma
PDF
ソフトウェア工学2023 14 ビルド
Toru Tamaki
PDF
Plugman code-reading
Motokazu Nishimura
PDF
Al mininum 47redmine-2nd
mikoto20000
PPTX
20140926 mt cloud_handson_seminar
Six Apart
PPT
MRTGの導入と運用
kohei Yamamoto
ODP
サンドボックス化によるセキュアなプログラミング
Yikei Lu
PDF
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
Taisuke Yamada
PDF
アクセス・ログ取得システム導入の考察(完全版)
FUSIONDRIVER, INC.
Goでかんたんソースコードの静的解析
Takuya Ueda
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
gu4
Golang tokyo #7 qtpm
Yoshiki Shibukawa
kyotovim#1
Naoya Inada
Vim の話
cohama
#logstudy 01 rsyslog入門
Takashi Takizawa
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
Gstreamer Basics
Seiji Hiraki
Programming camp 2008, Codereading
Hiro Yoshioka
メタプログラミングって何だろう
Kota Mizushima
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro
Packerで自動化
Shintaro Hasunuma
ソフトウェア工学2023 14 ビルド
Toru Tamaki
Plugman code-reading
Motokazu Nishimura
Al mininum 47redmine-2nd
mikoto20000
20140926 mt cloud_handson_seminar
Six Apart
MRTGの導入と運用
kohei Yamamoto
サンドボックス化によるセキュアなプログラミング
Yikei Lu
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
Taisuke Yamada
アクセス・ログ取得システム導入の考察(完全版)
FUSIONDRIVER, INC.
Nagoya vim #1 about plugins
1.
Vim プラグインについて 2013/09/07 @sgur
2.
自己紹介 ● sgur ● Vim歴5年くらい ●
名古屋で働く組み込み屋さん ● 最近の仕事はASP.NET
3.
お題 ● プラグインの種類 ● プラグインロードのしくみ ●
プラグインのインストール ● プラグインの紹介
4.
プラグインの種類 ● 汎用プラグイン ● ファイル形式に関係なく使用されるもの ● ファイルタイププラグイン ●
特定のファイル形式の時のみロードされるもの ● 例えば: – シンタックス定義 – Omni補完 ● カラースキーム ● その他
5.
プラグインロードのしくみ ● runtimepath ● スクリプトが読み込まれるディレクトリのカンマ区切りの リスト –
UnixライクOS: $HOME/.vim,$VIM/vimfiles, $VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after – Windows: $HOME/vimfiles,$VIM/vimfiles,$VIMRUNTIME, $VIM/vimfiles/after,$HOME/vimfiles/after ● ユーザーディレクトリ – Windows では %HOME%vimfiles、それ以外の場合は ~/.vim ● runtimepath の各ディレクトリを基準にplugin/, doc/, ftplugin/ といったディレクトリ以下の *.vim ファイルがロードされる
6.
スクリプトのロード ● :scriptnames ● スクリプトを読み込まれた順に一覧する ● プラグインが正常なタイミングでロードされたか確認す るのに便利 – ファイルタイププラグインなのに起動時にロードされた –
ファイルを開いたけどプラグインがロードされていない ● autoload ● 関数が実際に呼び出されたタイミングでスクリプトを ロードする仕組み ● 起動時間を短縮できる ● 詳しくは :help autoload
7.
プラグインのインストール(1) ● 単一ファイル ● ~/.vim
以下のフォルダに保存するだけ ● プラグインの場合は plugin/ ● ファイルタイププラグインの場合は ftplugin/ ● カラースキームの場合は colors/ ● シンタックスの場合は syntax/ ● VimBall ● 自動インストールパッケージ ● :source <ファイル名>
8.
プラグインのインストール(2) ● Pathogenフレンドリな形式 ● プラグインのディレクトリをruntimepathに追加すればそ のまま使える形式 foo-bar-plugin/ ●
plugin/ ● ftplugin/ ● autoload/ ● … ● github等で公開されているプラグインは大体この形 ● プラグイン毎に runtimepath に手動で追加するの は面倒い…
9.
プラグインマネージャー ● pathogen ● プラグインのロード補助 ●
~/.vim/bundle 以下に保存したプラグインを探索して runtimepath に追加する ● Vundle ● pathogen と同様のロード機能 ● プラグインをメニューから選択してインストールできる ※ https://github.com/vim-scripts/ でホストしているものの み ● NeoBundle ● Vundle をベースに Fork して多機能にしたもの ● 並列アップデート、遅延ロードなど
10.
プラグイン紹介
11.
ヘルプ日本語版 ● いれましょう! ● https://github.com/vim-jp/vimdoc-ja ●
kaoriya版 vim には標準でインストール済み
12.
キー操作拡張 (1) Vimのキー操作の基本 (operator){motion}をそれ ぞれ拡張するプラグイン ●
vim-operator-user – (operator) の拡張をサポート ● vim-operator-replace … {motion} で指定した領域を置換 ● vim-operator-sort … {motion}で指定した領域をソート ● vim-textobj-user – {motion} のうち、テキストオブジェクトの拡張をサポート ● vim-textobj-indent … 同一インデント ● vim-textobj-comment … コメント部分 ● vim-textobj-between … 任意の1文字に挟まれた領域 ● vim-surround – {motion} の周囲の文字に対して挿入・変更・削除
13.
キー操作拡張 (2) ● f,t,F,T
キーの挙動を改善する ● clever-f.vim – f;;… を f連打可能にする ● WiseMan-f – f キー的に移動した後、<C-f>/<C-b>で微調整できる ● easymotion – 「ここらへん」でジャンプ可能 ● * キーの挙動を改善する ● vim-visualstar – ビジュアル領域で選択したテキストで * を実行
14.
短縮入力 ● smartchr ● 同一キー入力で、入力内容をトグルしたりする ●
例: '.' 入力時に '.' '→'⇔ をトグルする ● smartinput ● smartchrの高機能版 ● ファイルタイプやカーソル位置の文字をベースにより複 雑なルール定義が可能 ● Emmet (ZenCoding) ● Emmet (ZenCoding) の機能を提供する
15.
テキスト整形 ● コメントプラグイン ● caw.vim ●
vim-commentary ● tcomment.vim ● テキスト整形 ● vim-alignta ● LastModified 挿入 ● autodate.vim
16.
ファイルタイププラグイン ● シンタックス系 ● キーワード定義 ● インデント設定 ●
include, path 等の自動設定など ● 各種言語向けにたくさんあります… ● Omni補完 ● ファイルタイプ別の補完プラグイン ● 外部パーサー等を利用したセマンティック補完 ● Jedi (Python), Tern (Javascript), OmniSharp (C#), gocode (go), ghc-mode-vim(haskell), Vaxe(Haxe) な ど
17.
バッファセレクタ ● FuzzyFinder ● 昔有名だった ●
unite.vim ● 国内で主流 ● 多機能 ● プラグインたくさん (grep, 各種ヒストリ, …) ● ctrlp.vim ● コンパクト ● レスポンスが速い ● プラグイン利用可能 (unite.vimほどいろいろない)
18.
ファイラー ● Vimからファイルの一覧、操作が可能 ● NerdTree ●
ツリー表示のサイドバー ● VimFiler ● 「あふ」とか「dired」のようなファイラー ● 一括リネームとかができて便利 ● unite.vimが必要 (連携している)
19.
QuickRun ● Vim から使える
REPL のようなもの ● バッファ中のコードを直に(コンパイル&)実行可能 ● ファイル形式毎にプリセットが用意されている ● コード中の選択領域のみ実行することも可能 ● 例 ● コードを書きながらビルド&テストして動作を確認 ● Markdownを書きながらpandocでHTMLに変換しブラ ウザで表示
20.
自動補完 ● トリガキー(<C-n>/<C-p>)なしに補完を開始 ● 独自の補完エンジンを実装したものが主流 ●
Neocomplete (neocomplcache) ● vimscript + if_lua で実装 ● 複数の入力ソースから候補を合成できる – 例) 編集中バッファ、tags、インクルードファイル、シンタック ス、etc… ● キャッシュファイルを利用して高速化 ● カスタマイズ対象が多い ● YouCompleteMe ● 補完エンジンが C++ + if_python で実装されており高
21.
スニペット ● コードスニペットを入力するプラグイン ● プレースホルダ間のジャンプ ● スクリプトの評価結果の挿入 ●
neosnippet.vim ● neocomplete と連携して自動で候補表示 ● UltiSnips ● if_python で実装 ● YouCompleteMeと連携して自動で候補表示
22.
シンタックスチェック ● コード編集中にエラーを左端のsign領域に表示 ● ファイルタイプ毎に設定が用意されている ●
Syntastic ● Watchdogs ● QuickRun を利用
23.
ステータスライン拡張 ● ステータスラインをカラフルに表示する ● 各種プラグインのバッファ専用の色付け ● vim-powerline ●
obsolete ● powerline ● python を使って汎用的に実装されている ● airline
24.
バージョン管理 ● vim-fugitive ● 編集中のバッファに対してgitのコマンドを適用できる ●
index とのDiffを取って差分毎に git add -p 相当が可 能 ● Gitv ● gitk を vim プラグインとして実装 ● lawrencium ● fugitiveのMercurial版
25.
その他のプラグイン ● https://gist.github.com/sgur/6434642
Download