Enviar pesquisa
Carregar
Nagoya vim #1 about plugins
•
3 gostaram
•
6,671 visualizações
S
sgurrr
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 25
Baixar agora
Baixar para ler offline
Recomendados
Vimはこわくない
Vimはこわくない
Yuichi Watanabe
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
Tech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presen
Makoto Kishimoto
Vimperator abc
Vimperator abc
洸人 高橋
Unite vim
Unite vim
Shougo
VBScriptのダメなところ~その1~
VBScriptのダメなところ~その1~
bouzuya
WSHで遊ぼう!
WSHで遊ぼう!
bouzuya
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
fd0
Recomendados
Vimはこわくない
Vimはこわくない
Yuichi Watanabe
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
Tech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presen
Makoto Kishimoto
Vimperator abc
Vimperator abc
洸人 高橋
Unite vim
Unite vim
Shougo
VBScriptのダメなところ~その1~
VBScriptのダメなところ~その1~
bouzuya
WSHで遊ぼう!
WSHで遊ぼう!
bouzuya
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
fd0
Vim = VM
Vim = VM
Shougo
Shougoの開発環境
Shougoの開発環境
Shougo
Bmd
Bmd
Yuichiro Naito
neovim = VM
neovim = VM
Shougo
NanoStrand
NanoStrand
Masashi Umezawa
Contao Open Source CMS / Contao 3.3に向けて
Contao Open Source CMS / Contao 3.3に向けて
Takahiro Kambe
Happy status Coding
Happy status Coding
yoshinori matsumoto
Lt
Lt
LGA128
Packagist を旅してみる
Packagist を旅してみる
sters
汎用apiサーバの構築
汎用apiサーバの構築
Hidetoshi Mori
そろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思う
Tadayuki Onishi
Nodejsによるapiサーバ構築事例
Nodejsによるapiサーバ構築事例
Hidetoshi Mori
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
Koichiro Iwao
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
Hirokuma Ueno
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
Argosの紹介 #x86study
Argosの紹介 #x86study
Tokoroten Nakayama
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
cohama
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
Mais conteúdo relacionado
Mais procurados
Vim = VM
Vim = VM
Shougo
Shougoの開発環境
Shougoの開発環境
Shougo
Bmd
Bmd
Yuichiro Naito
neovim = VM
neovim = VM
Shougo
NanoStrand
NanoStrand
Masashi Umezawa
Contao Open Source CMS / Contao 3.3に向けて
Contao Open Source CMS / Contao 3.3に向けて
Takahiro Kambe
Happy status Coding
Happy status Coding
yoshinori matsumoto
Lt
Lt
LGA128
Packagist を旅してみる
Packagist を旅してみる
sters
汎用apiサーバの構築
汎用apiサーバの構築
Hidetoshi Mori
そろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思う
Tadayuki Onishi
Nodejsによるapiサーバ構築事例
Nodejsによるapiサーバ構築事例
Hidetoshi Mori
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
Koichiro Iwao
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
Hirokuma Ueno
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
Argosの紹介 #x86study
Argosの紹介 #x86study
Tokoroten Nakayama
Mais procurados
(20)
Vim = VM
Vim = VM
Shougoの開発環境
Shougoの開発環境
Bmd
Bmd
neovim = VM
neovim = VM
NanoStrand
NanoStrand
Contao Open Source CMS / Contao 3.3に向けて
Contao Open Source CMS / Contao 3.3に向けて
Happy status Coding
Happy status Coding
Lt
Lt
Packagist を旅してみる
Packagist を旅してみる
汎用apiサーバの構築
汎用apiサーバの構築
そろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思う
Nodejsによるapiサーバ構築事例
Nodejsによるapiサーバ構築事例
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PHP With Windows binary
PHP With Windows binary
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Argosの紹介 #x86study
Argosの紹介 #x86study
Destaque
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
cohama
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
(初心者向け) Vim の機能紹介@nagoya.vim #1
(初心者向け) Vim の機能紹介@nagoya.vim #1
cohama
Vim の開発環境
Vim の開発環境
eagletmt
Using xvim with macvim
Using xvim with macvim
pebble8888
VimConf 2014 from deris0126
VimConf 2014 from deris0126
deris0126
Let's talk about neovim
Let's talk about neovim
Shougo
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
cohama
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
Sugoi Kanari
Destaque
(9)
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
(初心者向け) Vim の機能紹介@nagoya.vim #1
(初心者向け) Vim の機能紹介@nagoya.vim #1
Vim の開発環境
Vim の開発環境
Using xvim with macvim
Using xvim with macvim
VimConf 2014 from deris0126
VimConf 2014 from deris0126
Let's talk about neovim
Let's talk about neovim
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
Semelhante a Nagoya vim #1 about plugins
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
Takuya Ueda
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
gu4
Golang tokyo #7 qtpm
Golang tokyo #7 qtpm
Yoshiki Shibukawa
kyotovim#1
kyotovim#1
Naoya Inada
Vim の話
Vim の話
cohama
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
Takashi Takizawa
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro
Packerで自動化
Packerで自動化
Shintaro Hasunuma
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
Plugman code-reading
Plugman code-reading
Motokazu Nishimura
Al mininum 47redmine-2nd
Al mininum 47redmine-2nd
mikoto20000
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
Six Apart
MRTGの導入と運用
MRTGの導入と運用
kohei Yamamoto
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
Yikei Lu
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
Taisuke Yamada
アクセス・ログ取得システム導入の考察(完全版)
アクセス・ログ取得システム導入の考察(完全版)
Fusion Reactor LLC
Semelhante a Nagoya vim #1 about plugins
(20)
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
Golang tokyo #7 qtpm
Golang tokyo #7 qtpm
kyotovim#1
kyotovim#1
Vim の話
Vim の話
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Gstreamer Basics
Gstreamer Basics
Programming camp 2008, Codereading
Programming camp 2008, Codereading
メタプログラミングって何だろう
メタプログラミングって何だろう
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
Packerで自動化
Packerで自動化
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Plugman code-reading
Plugman code-reading
Al mininum 47redmine-2nd
Al mininum 47redmine-2nd
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
MRTGの導入と運用
MRTGの導入と運用
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
アクセス・ログ取得システム導入の考察(完全版)
アクセス・ログ取得システム導入の考察(完全版)
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
Baixar agora