Frage

Ich habe versucht, MiniBufExplorer , aber ich am Ende in der Regel mit mehrere Fenster, die es zeigt, oder ganz schließen. Was ich möchte, ist so etwas wie LustyJuggler mit inkrementeller Suche, die Art und Weise ich zwischen Puffern in Emacs. Sicherlich gibt es ein Skript wie das?

War es hilfreich?

Lösung

Ich habe mit Wincent Colaiuta Befehl-T vim Plugin für ein paar Monate jetzt. Wincent schrieb die Teile davon, die in C schnell sein müssen, und ich muss sagen, dass es! Und ich denke, seine Datei Pattern-Matching-Logik ist sogar besser als Textmate Command-T. Schauen Sie sich die Screencasts .

  

Der Befehl-T-Plug-in für VIM bietet   ein extrem schneller, intuitiver Mechanismus   für Dateien mit einer minimalen Öffnung   Anzahl der Tastenanschläge. Es ist benannt   „Befehl-T“, weil es inspiriert durch   "Go to File" Fenster gebunden   Befehl-T in Textmate.

     

Die Dateien werden ausgewählt, indem Sie   Zeichen, die in ihren Pfaden erscheinen,   und werden durch einen Algorithmus der geordneten   Zeichen weiß, dass die erscheinen in   bestimmte Stellen (zum Beispiel   unmittelbar nach einem Pfadseparator)   sollte mehr Gewicht gegeben werden.

Einfachere Pufferschalt enthält viele nützliche Tipps. Ich habe folgendes auf meine .vimrc angepasst, die Puffer-Namen Auto-Vervollständigung der Fall ist, ordnet die nützlichsten Puffer-Schaltbefehle an meinem und linksseitige Grundreihe Tasten und zeigt die aktuelle Puffernummer in der Statuszeile :

"" 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

Ich benutze auch MiniBufExplorer , die eine kompakte Auflistung von jedem bietet aufgeführten Puffer in seinem eigenen horizontal aufgeteilt oben.

Andere Tipps

Ich habe eine Kombination von Registerkarten zu verwenden und mehr Gvim Instanzen, Gruppen von verwandten Dateien als Registerkarten in jedem Fall zu halten. Solange ich nicht in einem Fall mit zu vielen Tabs am Ende hat, die Tab-Leiste zeigt Ihnen den Namen jeder Datei, die Sie auf einen Blick gerade bearbeiten.

Dann las ich einen Beitrag von Jamis Buck, wie er eingeschaltet von Textmate zurück zu vim und lernte einige große Tricks:

  • Strg-w s und Strg-w v aufzuspalten das aktuelle Fenster
  • Ctrl-6 hin- und herschalten zwischen zwei Puffern in dem gleichen Fenster.
  • die ehrfürchtige fuzzyfinder.vim , die Sie Autovervollständigen Suche von Dateien gibt im aktuellen Verzeichnis oder der Puffer haben Sie zur Zeit offen
  • Jamis eigenen fuzzy_file_finder und Dieses Video es in Aktion zu sehen.

Jetzt habe ich nur ein gvim Beispiel maximiert, und spaltete es in mehrere Fenster, so dass ich mehrere Dateien auf einmal sehen. I gebunden Strg-F fuzzyfinder_textmate, so jetzt, wenn ich geben (sagen wir) Strg-F mod/usob es app / models / user_observer.rb eröffnet. Ich fast nie mit Tabs Mühe mehr.

Update 2010.08.07

Während fuzzyfinder_textmate genial bleibt, wie Casey in den Kommentaren weist darauf hin, es ist nicht mehr aufrechterhalten. Außerdem ist es (und / oder fuzzyfinder.vim) wird es ein wenig langsam und instabil, wenn sie mit großen Projekten (viele Verzeichnisse oder Dateien) arbeitet, so habe ich bereits nach einer Alternative suchen.

Glücklicherweise scheint es eine sehr schöne Alternative in Form von Wincent Colaiuta 's Befehl-T-Plugin . Dies hat sehr ähnlich (wenn nicht sogar etwas besser) Verhalten fuzzyfinder_textmate, ist aber deutlich schneller; es hat auch nette Features wie die gefundene Datei in einem Split oder vertikaler Teilung öffnen zu können. Dank (und upvotes!) Zu David Rivers für auf sie zeigen.

Ich verwende die Grundlagen - ':ls' + ':bn' / ':bp' + ':b <part-of-name>'

Ich mag "ctrl-w s" und "ctlr-w v" um das Fenster zu spalten. Dann Karte ich die Bewegungstasten (h, j, k, l) mit Strg gedrückt gehalten wird zwischen den geteilten Fenster verschieben:

" 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>

Mit meiner Hand über die Pfeiltasten zu bewegen, ist ärgerlich.

Als nächstes stelle ich ctlr-Tab zwischen den Puffern im aktuellen Fenster zu wechseln (wie viele andere Umgebungen):

" Switch to alternate file
map <C-Tab> :bnext<cr>
map <C-S-Tab> :bprevious<cr>
für mich

Diese ziemlich gut einige Jahre in den letzten mehr Geheimnisse immer obwohl vim hat gearbeitet haben, als Sie wissen können.

nmap <Leader>bb :ls<CR>:buffer<Space>

und niemand erwähnt schön Plugin ctrlp.vim . Mit Hilfe dieses Plugins können Sie Puffer nach dem Namen suchen.

ich

STRG - J für den nächsten Puffer

STRG - K für vorherige Puffer

STRG - L für die nächsten Registerkarte

STRG - H für vorherige Registerkarte

Hier ist die .vimrc Konfiguration:

map <C-J> :bnext<CR>
map <C-K> :bprev<CR>
map <C-L> :tabn<CR>
map <C-H> :tabp<CR>

Siehe 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>

Ich habe vor kurzem gegangen mehr minimalistisch.

Um Zyklus Puffer ich ] b und [b von unbeeinträchtigt: https://github.com/tpope/vim-unimpaired

gerade zu einem offenen Puffer springen verwenden nur Tabulatorvervollständigung der Vim mit b . Ein paar Buchstaben reichen aus, um alle offenen Puffer mit einer Lasche oder zwei zu erhalten.

Ähnlich öffnen Puffer Ich benutze : e. mit relativen Pfaden und Reiter komplett

Ich benutze auch . Ls gelegentlich zu sehen, was Puffer Ich habe offen (und ihren modifizierten Status zu überprüfen)

Um einen Puffer ich loswerden : bw , um den Puffer zu wischen. Ich in der Regel eine temporäre Split machen und Puffer ändern mein Layout zu erhalten, obwohl seit . Bw schließt auch das aktive Fenster

Alle minibuf Dinge, die ich versuchte gerade zu Ende gegangen up ärgerlich mich, und ich möchte nicht, einige Smart-Matching, was Öffnen Zufalls Dateien für mich. Wenn ich wirklich etwas durchsuchen müssen verwende ich NERDtree (: e. ).

IDK, In letzter Zeit fiel ich Yankring auch (weil es vermasselt xp ) und begann Register ab und ich vor kurzem beschlossen, die f / t Bewegungen sind immer die größte Sache ...

Die ausgezeichnete Buffer Explorer , hat das A geworden zu sein so starke Muskelgedächtnis, die ich selbst finden möchte ich es in anderen Anwendungen nutzen könnte. Ich finde es extrem schnell sein, wenn aktiv mehr als zwei Dateien zu bearbeiten.

ich damit verbracht habe eine ganze Weile Aufbau meinen .vimrc mit diesem HTML arbeiten :: Mason Projekt Ich habe seit vier Jahren auf, so hat ich eine seltsame Mischung aus Tabs und Split-Fenster. Für Fernsehgenuss:

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>

Ich benutze tselectbuffer . Es ist wirklich schnell und im Gegensatz zu bufexplorer nimmt nicht Raum in Ihrem Fenster. Es hat auch eine inkrementelle search.I minibufexplorer versucht, und ich fand die Navigation in dem ein bisschen schwierig puffern.

Um ein und Schalter zwischen den Puffern ich benutze:

nnoremap <Leader>l :ls<CR>:b<space>

Zum Umschalten zwischen den Puffern:

map <Leader>n :bn<CR>
map <Leader>p :bp<CR>

Ich habe kartiert <S-J> und <S-K> :bp und :bn, obwohl ich mich nicht wie die Anzahl der Dateien zulassen verwenden Sie es größer ist als 10. Ich habe dann <C-J> und <C-K> zu Gnome-Terminal des vorherigen und nächsten Registerkarten abgebildet, und ich in der Regel laufen 4 Instanzen von vim für jede der vier verschiedenen Projekten arbeite ich an. Ich wünsche noch wirklich nächsten und vorherigen Puffer in die Geschichte der Puffer gehen würde ich gearbeitet haben, und nicht die Reihenfolge int er Liste puffern.

I tselectbuffer verwenden. Es ist wirklich schnell und im Gegensatz zu bufexplorer nimmt nicht Raum in Ihrem Fenster. Es wurde auch eine inkrementelle search.I versucht minibufexplorer und ich fand die Navigation in den Puffer ein bisschen schwierig.

ich verwende einfach: vsplit mit ^ W + w / ^ W + r und:. Tabnew mit Strg + Alt + Bild auf / Bild ab Tastenkombinationen

Wenn es mehrere Puffer, öffnen in einer Vim-Session kann es schwierig werden, den Überblick über die Puffer zu halten und ihre jeweiligen Puffernummern. Wenn dies der Fall ist, kann in einem anderen Datei Umschalten erleichtert werden, eine einfache Karte mit:

  

: nnoremap (F5): Puffer (CR): Puffer (Leerzeichen)

vim.wikia.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top