Weitere ähnliche Inhalte
Ähnlich wie Nagoya vim #1 about plugins (20)
Nagoya vim #1 about plugins
- 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
ファイルがロードされる
- 7. プラグインのインストール(1)
● 単一ファイル
● ~/.vim 以下のフォルダに保存するだけ
● プラグインの場合は plugin/
● ファイルタイププラグインの場合は ftplugin/
● カラースキームの場合は colors/
● シンタックスの場合は syntax/
● VimBall
● 自動インストールパッケージ
● :source <ファイル名>
- 9. プラグインマネージャー
● pathogen
● プラグインのロード補助
● ~/.vim/bundle 以下に保存したプラグインを探索して
runtimepath に追加する
● Vundle
● pathogen と同様のロード機能
● プラグインをメニューから選択してインストールできる
※ https://github.com/vim-scripts/ でホストしているものの
み
● NeoBundle
● Vundle をベースに Fork して多機能にしたもの
● 並列アップデート、遅延ロードなど
- 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
– ビジュアル領域で選択したテキストで * を実行
- 16. ファイルタイププラグイン
● シンタックス系
●
キーワード定義
● インデント設定
● include, path 等の自動設定など
●
各種言語向けにたくさんあります…
● Omni補完
●
ファイルタイプ別の補完プラグイン
● 外部パーサー等を利用したセマンティック補完
● Jedi (Python), Tern (Javascript), OmniSharp (C#),
gocode (go), ghc-mode-vim(haskell), Vaxe(Haxe) な
ど
- 19. QuickRun
● Vim から使える REPL のようなもの
● バッファ中のコードを直に(コンパイル&)実行可能
● ファイル形式毎にプリセットが用意されている
● コード中の選択領域のみ実行することも可能
●
例
● コードを書きながらビルド&テストして動作を確認
● Markdownを書きながらpandocでHTMLに変換しブラ
ウザで表示