J'avais l'habitude d'utiliser une combinaison d'onglets et de plusieurs instances gvim, en conservant des groupes de fichiers associés sous forme d'onglets dans chaque instance. Tant que je ne me suis pas retrouvé avec trop d'onglets dans une seule instance, la barre d'onglets vous montre le nom de chaque fichier que vous modifiez en un coup d'œil.
Ensuite, j'ai lu un article de Jamis Buck sur la façon dont il est passé de TextMate à vim , et j'ai appris de très bonnes astuces:
- Ctrl-w s et Ctrl-w v pour diviser la fenêtre courante
- Ctrl-6 pour basculer entre deux tampons dans la même fenêtre.
- l'impressionnant fuzzyfinder.vim qui vous permet de rechercher automatiquement des fichiers dans votre répertoire actuel ou des tampons que vous avez actuellement ouverts
- Les propres fuzzy_file_finder et fuzzyfinder_textmate de Jamis , qui modifient légèrement le fonctionnement de fuzzyfinder pour se comporter davantage comme une fonctionnalité similaire dans TextMate (pour autant que je sache, la différence est qu'il correspond n'importe où dans le nom de fichier au lieu de seulement depuis le début). Regardez cette vidéo pour la voir en action.
Maintenant, je n'ai qu'une seule instance de gvim, agrandie et divisée en plusieurs fenêtres pour que je puisse voir plusieurs fichiers à la fois. J'ai lié Ctrl-F à fuzzyfinder_textmate, donc maintenant si je tape (disons) Ctrl-F, mod/usob
cela ouvre app / models / user_observer.rb. Je ne me soucie presque plus des onglets.
Mise à jour 07/08/2010
Bien que fuzzyfinder_textmate reste génial, comme le souligne Casey dans les commentaires, il n'est plus maintenu. En outre, il (et / ou fuzzyfinder.vim) devient un peu lent et instable lorsque vous travaillez avec de gros projets (beaucoup de répertoires ou de fichiers), donc j'ai cherché une alternative.
Heureusement, il semble y avoir une très belle alternative sous la forme de Wincent Colaiuta de plug - in Commande-T . Cela a un comportement très similaire (sinon légèrement meilleur) à celui de fuzzyfinder_textmate, mais est nettement plus rapide; il a également des fonctionnalités intéressantes comme la possibilité d'ouvrir le fichier trouvé dans une division ou une division verticale. Merci (et votes positifs!) À David Rivers pour l'avoir signalé.
J'utilise les bases - '
:ls
' + ':bn
' / ':bp
' + ':b <part-of-name>
'la source
:map <c-n> :bn<cr>
et:map <c-p> :bp<cr>
, puisqueC-n
etC-p
sont rapides à taper et permettent de passer d'un tampon à l'autre si vous appuyez dessus à plusieurs reprises. (Je ne les ai jamais utilisés dans leur but initial.) C'est comme parcourir les onglets du navigateur avecC-PgUp
etC-PgDn
ou tout autre raccourci de votre navigateur.[b
pour le tampon précédent et]b
pour le tampon suivant. Plus de nombreux autres goodies qui utilisent le concept du]
suivant et[
du précédent.J'aime "ctrl-w s" et "ctlr-w v" pour diviser la fenêtre. Ensuite, je mappe les touches de mouvement (h, j, k, l) en maintenant la touche Ctrl enfoncée pour se déplacer entre les fenêtres séparées:
Devoir déplacer ma main sur les touches fléchées est ennuyeux.
Ensuite, j'ai configuré ctlr-tab pour basculer entre les tampons dans la fenêtre actuelle (comme beaucoup d'autres environnements):
Celles-ci ont plutôt bien fonctionné pour moi au cours des dernières années, bien que vim ait toujours plus de secrets que vous ne pouvez en imaginer.
la source
:bp
et <SK> vers:bn
et personne n'a mentionné le joli plugin ctrlp.vim . En utilisant ce plugin, vous pouvez rechercher le tampon par nom.
la source
j'utilise
CTRL- Jpour le prochain tampon
CTRL- Kpour le tampon précédent
CTRL- Lpour l'onglet suivant
CTRL- Hpour l'onglet précédent
Voici la
.vimrc
configuration:Voir http://syskall.com/my-biggest-vim-productivity-boost/
la source
la source
:tab sball
abord, ou au lieu d'utiliser,:tabn
vous devriez utiliser:buffer
Je suis récemment devenu plus minimaliste.
Pour faire un cycle des tampons que j'utilise ]bet sans [baltération: https://github.com/tpope/vim-unimpaired
Pour passer directement à un tampon ouvert, utilisez simplement la complétion de tabulation de Vim avec :b. Quelques lettres suffisent pour accéder à n'importe quel tampon ouvert avec un onglet ou deux.
De même pour ouvrir les tampons que j'utilise :eavec des chemins relatifs et des onglets complets.
J'utilise aussi :lsoccasionnellement pour voir quels tampons j'ai ouverts (et pour vérifier leur statut modifié).
Pour me débarrasser d'un tampon, j'utilise :bwpour essuyer le tampon. Je fais généralement une division temporaire et change les tampons pour préserver ma mise en page, car :bwferme également la fenêtre active.
Toutes les choses minibuf que j'ai essayées ont fini par m'ennuyer, et je ne veux pas de chose intelligente qui ouvre des fichiers aléatoires pour moi. Si j'ai vraiment besoin de rechercher quelque chose, j'utilise NERDtree ( :e .).
IDK, Dernièrement, j'ai aussi abandonné Yankring (parce que ça se passe mal xp) et j'ai commencé à utiliser des registres, et j'ai récemment décidé que les mouvements f/ tétaient la meilleure chose qui soit ...
la source
<leader>ll
à:ls
. De plus, il est vraiment utile de vous assurer que vous avezset wildmenu
dans votre.vimrc
car alors vous obtenez un petit menu qui propose toutes les alternatives pour:b
L'excellent Buffer Explorer , le be est devenu une mémoire musculaire si forte que je me surprends à souhaiter pouvoir l'utiliser dans d'autres applications. Je trouve que c'est extrêmement rapide lors de l'édition active de plus de deux fichiers.
la source
J'ai passé pas mal de temps à construire mon .vimrc pour travailler avec ce projet HTML :: Mason sur lequel je suis depuis quatre ans, donc j'ai un étrange mélange d'onglets et de fenêtres fractionnées. Pour votre plaisir visuel:
la source
J'utilise tselectbuffer . C'est vraiment rapide et contrairement à bufexplorer, il ne prend pas de place dans votre fenêtre. Il a également une recherche incrémentielle, j'ai essayé minibufexplorer et j'ai trouvé la navigation dans le tampon un peu difficile.
la source
,be
,,bs
,,bv
, donc je cartographié TSelectBuffer à,bb
.Pour lister et basculer entre les tampons que j'utilise:
Pour basculer entre les tampons:
la source
J'ai mappé
<S-J>
et<S-K>
vers:bp
et:bn
, bien que j'admette que je ne l'utilise pas car le nombre de fichiers est supérieur à 10. J'ai ensuite mappé<C-J>
et<C-K>
aux onglets précédent et suivant de Gnome Terminal, et j'exécute généralement 4 instances de vim pour chacun des les 4 différents projets sur lesquels je travaille. Je souhaite toujours vraiment que le tampon suivant et précédent aille dans l'historique des tampons sur lesquels j'ai travaillé, et non dans l'ordre dans la liste de tampons.la source
J'utilise tselectbuffer. C'est vraiment rapide et contrairement à bufexplorer, il ne prend pas de place dans votre fenêtre. Il a également une recherche incrémentielle, j'ai essayé minibufexplorer et j'ai trouvé la navigation dans le tampon un peu difficile.
la source
J'utilise simple: vsplit avec ^ W + w / ^ W + r et: tabnew avec les combinaisons de touches Ctrl + Alt + PgUp / PgDown.
la source
Lorsqu'il y a plusieurs tampons ouverts dans une session Vim, il peut devenir difficile de garder une trace des tampons et de leurs numéros de tampons respectifs. Si tel est le cas, le passage à un autre fichier peut être facilité à l'aide d'une simple carte:
vim.wikia.com
la source