私はMiniBufExplorerを試しましたが、通常、いくつかのウィンドウに表示されるか、完全に閉じてしまいます。私が望むのは、インクリメンタル検索を備えたLustyJugglerのようなもので、Emacsでバッファーを切り替える方法です。確かにこのようなスクリプトがありますか?
私はMiniBufExplorerを試しましたが、通常、いくつかのウィンドウに表示されるか、完全に閉じてしまいます。私が望むのは、インクリメンタル検索を備えたLustyJugglerのようなもので、Emacsでバッファーを切り替える方法です。確かにこのようなスクリプトがありますか?
回答:
Wincent ColaiutaのCommand-T vimプラグインを2か月間使用しています。Wincentは、Cで高速である必要がある部分を記述しました。そして、そのファイルパターンマッチングロジックは、TextmateのCommand-Tよりも優れていると思います。スクリーンキャストをご覧ください。
VIM用のCommand-Tプラグインは、最小限のキーストロークでファイルを開くための非常に高速で直感的なメカニズムを提供します。これは、TextMateのCommand-Tにバインドされた[ファイルへ移動]ウィンドウに触発されたため、「Command-T」と呼ばれています。
ファイルは、パスに表示される文字を入力することによって選択され、特定の場所(たとえば、パス区切り記号の直後)に表示される文字にはより大きな重みを与える必要があることを認識するアルゴリズムによって順序付けされます。
より簡単なバッファ切り替えには、多くの役立つヒントが含まれています。以下を私の.vimrcに適合させました。これは、バッファー名の自動補完を行い、最も有用なバッファー切り替えコマンドを<Leader>および左側のホーム行キーにマップし、ステータス行に現在のバッファー番号を表示します:
"" 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
私はMiniBufExplorerも使用します。これは、リストされた各バッファーのコンパクトなリストを独自の水平分割上部に提供します。
以前は、タブと複数のgvimインスタンスを組み合わせて使用し、関連するファイルのグループを各インスタンスのタブとして保持していました。1つのインスタンスでタブが多すぎない限り、タブバーには編集中の各ファイルの名前が一目でわかります。
その後、私はJamis BuckがTextMateからvimに切り替えた方法についての投稿を読み、いくつかの素晴らしいトリックを学びました。
これで、最大化された1つのgvimインスタンスがあり、複数のウィンドウに分割して、一度に複数のファイルを表示できるようになりました。Ctrl-Fをfuzzyfinder_textmateにバインドしたので、(たとえば)Ctrl-Fを入力mod/usob
すると、app / models / user_observer.rbが開きます。タブを気にすることはほとんどありません。
2010/08/07更新
fuzzyfinder_textmateは素晴らしいままですが、Caseyがコメントで指摘しているように、それはもはや維持されていません。また、大規模なプロジェクト(多数のディレクトリまたはファイル)で作業する場合、それ(またはfuzzyfinder.vim)が少し遅く不安定になるため、別の方法を探していました。
幸いなことに、Wincent ColaiutaのCommand-Tプラグインの形で非常に優れた代替手段があるようです。これはfuzzyfinder_textmateと非常によく似ていますが(少し優れているわけではありません)、著しく高速です。見つかったファイルを分割または垂直分割で開くことができるなど、優れた機能もあります。それを指摘してくれたDavid Riversに感謝(そして賛成投票!)
私は基本を使います-' :ls
' + ' :bn
' / ' :bp
' + ' :b <part-of-name>
'
:map <c-n> :bn<cr>
て:map <c-p> :bp<cr>
、C-n
とC-p
なので、入力が高速で、繰り返し押すとバッファ間を循環できます。(私はそれらを元々の目的で使用したことはありません。)これは、ブラウザーのタブ間でC-PgUp
、C-PgDn
またはブラウザーのショートカットを循環するようなものです。
[b
、前のバッファーと]b
次のバッファーを提供します。さらに、]
「次へ」と[
「前へ」の概念を使用する他の多くのグッズ。
ウィンドウを分割するには、「ctrl-w s」と「ctlr-w v」が好きです。次に、Ctrlキーを押しながら移動キー(h、j、k、l)をマップして、分割ウィンドウ間を移動します。
" Map ctrl-movement keys to window switching
map <C-k> <C-w><Up>
map <C-j> <C-w><Down>
map <C-l> <C-w><Right>
map <C-h> <C-w><Left>
矢印キーに手をかざすのは面倒です。
次に、ctlr-tabを設定して、(他の多くの環境と同様に)現在のウィンドウのバッファーを切り替える:
" Switch to alternate file
map <C-Tab> :bnext<cr>
map <C-S-Tab> :bprevious<cr>
これらは過去数年間、私にとってはかなりうまくいきましたが、vimには常にあなたが知ることができるより多くの秘密があります。
:bp
<SK>にマッピングしました:bn
私が使う
CTRL- J次のバッファ用
CTRL- K前のバッファ用
CTRL- L次のタブ
CTRL- H前のタブ
ここに.vimrc
設定があります:
map <C-J> :bnext<CR>
map <C-K> :bprev<CR>
map <C-L> :tabn<CR>
map <C-H> :tabp<CR>
http://syskall.com/my-biggest-vim-productivity-boost/を参照してください
imap <A-1> <Esc>:tabn 1<CR>i
imap <A-2> <Esc>:tabn 2<CR>i
imap <A-3> <Esc>:tabn 3<CR>i
imap <A-4> <Esc>:tabn 4<CR>i
imap <A-5> <Esc>:tabn 5<CR>i
imap <A-6> <Esc>:tabn 6<CR>i
imap <A-7> <Esc>:tabn 7<CR>i
imap <A-8> <Esc>:tabn 8<CR>i
imap <A-9> <Esc>:tabn 9<CR>i
map <A-1> :tabn 1<CR>
map <A-2> :tabn 2<CR>
map <A-3> :tabn 3<CR>
map <A-4> :tabn 4<CR>
map <A-5> :tabn 5<CR>
map <A-6> :tabn 6<CR>
map <A-7> :tabn 7<CR>
map <A-8> :tabn 8<CR>
map <A-9> :tabn 9<CR>
:tab sball
:tabn
:buffer
私は最近、よりミニマルになりました。
私が使用]bしているバッファーを[b、障害のないユーザーから循環するには、https://github.com/tpope/vim-unimpaired
開いているバッファに直接ジャンプするには、でVimのタブ補完を使用し:bます。数文字で、1つまたは2つのタブで開いているバッファにアクセスできます。
オープンバッファーと同様に:e、相対パスと完全なタブで使用します。
また、:ls開いているバッファーを確認するため(およびそれらの変更されたステータスを確認するため)も時々使用します。
バッファーを取り除くには、バッファーを:bwワイプします。通常は一時的な分割を行い、レイアウトを維持するためにバッファーを変更します:bwが、アクティブウィンドウも閉じます。
私が試したすべてのminibufのことは私を困らせてしまい、ランダムなファイルを開くスマートマッチングのものが欲しくありません。何かを実際に参照する必要がある場合は、NERDtree(:e .)を使用します。
IDK、最近私はヤンクリングも落とし(それが台無しになるためxp)、レジスターを使い始めました、そして最近f/ tムーブメントが史上最高のものであることを決めました...
<leader>ll
しました:ls
。また、それはあなたが持っていることを確認するために非常に便利ですset wildmenu
、あなたの中で.vimrc
のように、あなたがのためにすべての選択肢を思い付く小さなメニューを取得:b
優れたバッファーエクスプローラーであるbeは、他のアプリケーションで使用できることを望んでいるほど強い筋肉の記憶になっています。3つ以上のファイルをアクティブに編集する場合は、非常に高速です。
このHTML :: Masonプロジェクトを4年間使用して作業するために.vimrcを構築するのにかなりの時間を費やしてきたので、タブと分割ウィンドウの奇妙な組み合わせがあります。あなたの視聴を楽しむために:
map ;o :Sex <CR>
map <C-J> <C-W>j
map <C-K> <C-W>k
map <C-l> <C-W>l
map <C-h> <C-W>h
map ;] :tabnext<CR>
map ;[ :tabprev<CR>
map <C-t> :tabe +"browse ."<CR>
map <C-O> :NERDTreeToggle ~/curr/trunk/<CR>
私はtselectbufferを使用しています。これは本当に高速で、bufexplorerとは異なり、ウィンドウ内のスペースを取りません。インクリメンタルサーチもあります。minibufexplorerを試してみたところ、バッファー内のナビゲーションが少し難しいことがわかりました。
,be
、,bs
、,bv
、私はにTSelectBufferをマッピングされました,bb
。
Vimセッションで複数のバッファーが開いている場合、バッファーとそれぞれのバッファー番号を追跡することが困難になる可能性があります。この場合、単純なマップを使用して、別のファイルへの切り替えを簡単に行うことができます。
:nnoremap(F5):buffers(CR):buffer(Space)