spinner.vim : 3つのキーの操作だけで、バッファ、ファイル、タブを素早く切り替えられるプラグイン
spinner.vimプラグインは「快適に」「簡単に」操作できることを目指して作られた、 操作ファイル切り替えプラグインです。 「Control」「Shift」「Enter」の3つのキーの操作だけで、 バッファ、同じディレクトリのファイル、タブなどを順々に切り替えられる機能があります。 (Windows, Mac)
概要
spinner.vim : fast buffer/file/tab/... switching plugin with only 3 keys.
http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba
spinner.vimプラグインは「快適に」「簡単に」操作できることを目指して作られた、 操作ファイル切り替えプラグインです。 Control Shift Enter の 3つのキーの操作だけで、
- バッファ
- ファイル(開いているファイルと同じディレクトリから探す)
- 最近編集したファイル
- タブ
- ウィンドウ
- エラーリスト
- エラーリスト(ファイル単位)
の種類の操作ファイルを順々に切り替えられる機能を提供します。
インストール方法
spinner-vim-plugin.vbaのダウンロード
spinner.vimプラグインは、次のURLからダウンロードします。
http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba
spinner-vim-plugin.vbaのインストール
spinner.vimプラグインはVimBall形式で配布しています。
このプラグインをインストールするには、
「spinner-vim-plugin.vba」ファイルをVimエディタで開き、
:source % コマンドを実行してください。
プラグインと、プラグインのヘルプファイルがインストールされます。
" プラグインをインストールするには、 " Vimエディタでspinner-vim-plugin.vbaファイルを開いてから、 " sourceコマンドを実行する :source %
ファイル | URL |
---|---|
spinner-vim-plugin.vba | http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba |
spinner.vimプラグインの基本的な使い方
操作 | 説明 |
---|---|
<C-Enter> | 次のファイルへ移動 |
<S-Enter> | 前のファイルへ移動 |
<C-S-Enter> | 操作モードを切り替える |
<A-Enter> | 操作モードを表示する。 |
<D-Enter> | 操作モードを表示する。 |
操作ファイルを次に進める、前に戻る。
spinner.vimの基本操作の一つです。
ノーマルモードで、 Control-Enter を押下すると次のファイルに、
Shift-Enter を押下すると前のファイルに操作ファイルが切り替わります。
Note
Control-Enter は
Control キーを押しながら Enter キー、
Shift-Enter は
Shift キーを押しながら Enter キーを押すことを示しています。
操作モードを切り替える。
Control-Enter 、 Shift-Enter を押した時に、 どの種類のファイルを操作するのかを切り替えるのが、 Control-Shift-Enter キーです。
ノーマルモードで Control-Shift-Enter キーを押下するごとに、 Control-Enter 押下時の挙動が次の順序で変わっていきます。
- バッファを切り替える。
- 同じディレクトリにあるファイルを開く。
- 最近編集したファイルの一覧から、ファイルを開く。
- タブを移動する。
- ウィンドウを移動する。
- エラーリストの次の項目に移動する。
- エラーリスト(ファイル単位)の次のファイルの項目に移動する。
今、どの操作モードにいるか、確認する。
spinner.vimプラグインで、どの操作モードにいるか分からなくなった時は、
Alt-Enter か、 Command-Enter で、
現在の操作モードを表示できます。
一歩進んだ、spinner.vimプラグインの使い方
spinner.vimの操作モードをステータスバーに表示する。
spinner.vimプラグインが今のどの操作モードにいるか忘れやすい、というのは、
状態をもったプラグインである、spinner.vimの大きな弱点です。
この問題を解決する方法の一つとして、ステータスバーを使う方法を紹介します。
spinner.vimプラグインをインストールすると「g:CurrentSpinnerMode()」で現在の操作モードをとれるようになるので、 例えば、次のようにVimエディタ設定ファイルで設定すれば、 ステータスバーにspinner.vimプラグインの操作モードを表示できます。
" ステータスバーにspinner.vimプラグインの状態を表示 set statusline=%<%f%m%r%h%w[#%n]%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.'][spinner:'.g:CurrentSpinnerMode().']'}%=[row:%l/%L,col:%c]%P
操作モードを直接指定する。
spinner.vimプラグインでは、通常、 Control-Shift-Enter で操作モードを順々に切り替えて、 目的のモードまで変更するのですが、
2 Control-Shift-Enter のように、操作モードの番号を指定して、 Control-Shift-Enter を押下すると、指定した操作モードに直接切り替えられます。
" コマンドのフォーマット {モードの番号} <C-S-Enter> " コマンド実行例。タブ操作モードに移行。 4 <C-S-Enter>
NUMBER | spinner.vimプラグインのモード |
---|---|
1 | buffer |
2 | same directory file |
3 | most recently edited |
4 | tab |
5 | window |
6 | quickfix |
7 | quickfix file |
spinner.vimのキーのマッピングを変更する。
Vimエディタの設定ファイルで 「g:spinner_nextitem_key」「g:spinner_previousitem_key」「g:spinner_switchmode_key」「g:spinner_displaymode_key」 を設定すると、デフォルト以外のキーでspinner.vimプラグインを操作できるようになります。
" 設定のフォーマット let g:spinner_nextitem_key = {mapping} let g:spinner_previousitem_key = {mapping} let g:spinner_switchmode_key = {mapping} let g:spinner_displaymode_key = {mapping} " 設定例 let g:spinner_nextitem_key = ',n' let g:spinner_previousitem_key = ',p' let g:spinner_switchmode_key = ',s' let g:spinner_displaymode_key = ',d'
設定 | 説明 |
---|---|
g:spinner_nextitem_key | 次のアイテムに移動するキー |
g:spinner_previousitem_key | 前のアイテムに移動するキー |
g:spinner_switchmode_key | 操作モードを切り替えるキー |
g:spinner_displaymode_key | 操作モードを表示するキー |
Vimエディタ起動後、最初のspinner.vim操作モードを指定する。
起動直後の最初の操作モードを変更するには「g:spinner_initial_search_type」を設定します。
" 設定のフォーマット let g:spinner_initial_search_type = {mode number} " 設定例。同ディレクトリファイルを最初の操作モードにする let g:spinner_initial_search_type = 2
操作モード番号 | 操作モード |
---|---|
1 | buffer |
2 | same directory file |
3 | most recently edited |
4 | tab |
5 | window |
6 | quickfix |
7 | quickfix file |
コンソール版Vimエディタでの問題
このspinner.vimプラグインをコンソール版Vimエディタで使う場合、 Control-Enter 、 Shift-Enter といった、 デフォルトで割り当てられているマッピングが機能しない、という大きな問題があります。
ただし、一部環境(というには多いですが)を考慮して、全ての環境の利便性を下げるつもりはないので、 この問題はそのままにしています。
コンソール版でspinner.vimプラグインを使う場合は、 spinner.vimのキーのマッピングを変更する。 を参考に、 操作キーを変更してください。