1. ホーム
  2. vim

[解決済み] Vimのバッファの切り替えはどのように行うのが良いですか?

2023-02-14 06:37:48

質問

私は ミニバフエクスプローラー を試してみましたが、通常、複数のウィンドウが表示されるか、完全に閉じられてしまいます。私が望むのは、次のようなものです。 ラスティジャグラー のようなもので、Emacsでバッファを切り替えるように、インクリメンタルサーチができるものです。きっとこのようなスクリプトがあるのでしょう?

どのように解決するのですか?

私は、Wincent Colaiutaの コマンド T vim プラグイン を数ヶ月間使っています。Wincent は、高速でなければならない部分を C 言語で書きましたが、その通りだと言わざるを得ません! そして、そのファイルパターンマッチングのロジックは Textmate の Command-T よりもさらに優れていると思います。以下のサイトをチェックしてみてください。 スクリーンキャスト .

<ブロッククオート

VIM 用の Command-T プラグインは 非常に高速で直感的なメカニズムを提供します。 最小限のキーストロークでファイルを開くための 直感的なメカニズムを提供します。このプラグインの名前は Command-T" と名付けられています。 TextMateのCommand-Tに結合された"Go to File"ウィンドウに触発されたからです。 TextMate の Command-T にバインドされている "Go to File" ウィンドウに触発されたためです。

ファイルを選択するには という文字を入力することで選択されます。 アルゴリズムによって順序付けされます。 ある場所に現れる文字が 特定の場所(例えば パスセパレータの直後など) をより重視する必要があります。

より簡単なバッファの切り替え には多くの有用なヒントがあります。バッファ名の自動補完を行い、最も便利なバッファ切り替えコマンドを <Leader> と左側のホーム行キーにマップし、現在のバッファ番号をステータス行に表示するように、以下を私の .vimrc に適応させました。

"" Tab triggers buffer-name auto-completion
set wildchar=<Tab> wildmenu wildmode=full

let mapleader = ","

map <Leader>t :CommandT<Return>
map <Leader>a :bprev<Return>
map <Leader>s :bnext<Return>
map <Leader>d :bd<Return>
map <Leader>f :b 

"" Show the buffer number in the status line.
set laststatus=2 statusline=%02n:%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P

また ミニバフエクスプローラー これは、リストされた各バッファのコンパクトなリストを、上部の水平方向の分割で提供します。