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のキーのマッピングを変更する。 を参考に、 操作キーを変更してください。

前: zshr.vim : 直前に実行したコマンドを少し変更して実行する。zshシェルのrコマンド。
