98 votes

Comment préférez-vous basculer entre les tampons dans Vim ?

J’ai essayé MiniBufExplorer, mais j’ai habituellement vous retrouver avec plusieurs fenêtres qui affichent ce ou le fermer complètement. Ce que je voudrais est quelque chose comme LustyJuggler avec la recherche incrémentielle, la façon dont j’ai basculer entre tampons dans Emacs. Il y a sûrement un script comme celui-ci ?

79voto

Sam Stokes Points 7118

J'ai l'habitude d'utiliser une combinaison d'onglets et de multiples gvim cas, en gardant les groupes de fichiers sous forme d'onglets dans chaque instance. Tellement longtemps que je n'ai pas fini avec trop d'onglets dans une seule instance, la barre d'onglet vous indique le nom de chaque fichier que vous éditez en un clin d'œil.

Puis j'ai lu un post par Jamis Buck sur la façon dont il a changé de TextMate retour à vim, et appris quelques tours de grands:

  • Ctrl-w s et Ctrl-w v de diviser la fenêtre en cours
  • Ctrl-6 pour basculer entre deux tampons dans la même fenêtre.
  • le génial fuzzyfinder.vim qui vous donne autocompleting de recherche de fichiers dans votre répertoire courant ou de tampons, vous avez actuellement ouvert
  • Jamis propres fuzzy_file_finder et fuzzyfinder_textmate, qui modifient légèrement la façon dont fuzzyfinder travaille à se comporter plus comme une fonction similaire dans TextMate (autant que je peux dire, la différence est qu'elle correspond à n'importe où dans le nom de fichier au lieu de seulement à partir du début). Regardez cette vidéo pour la voir en action.

Maintenant j'ai juste une gvim exemple, maximisée, et de le diviser en plusieurs windows afin que je puisse voir plusieurs fichiers à la fois. J'ai lié Ctrl-F pour fuzzyfinder_textmate, alors maintenant, si je type (dire) Ctrl-F mod/usob il ouvre app/models/user_observer.rb. Je n'ai presque jamais s'embêter avec des onglets.

Mise à jour 2010/08/07

Alors que fuzzyfinder_textmate reste génial, comme Casey points dans les commentaires, il n'est plus maintenu. Aussi, il (et/ou fuzzyfinder.vim) est un peu lent et instable lorsque l'on travaille avec de grands projets (beaucoup de dossiers ou de fichiers), donc j'ai été à la recherche d'une alternative.

Heureusement, il semble y avoir une très belle alternative sous la forme de Wincent Colaiuta' Commande-T plugin. Ceci est très similaire (si ce n'est un peu mieux) comportement à fuzzyfinder_textmate, mais est sensiblement plus rapide; il dispose également de fonctionnalités intéressantes comme la possibilité d'ouvrir les fichiers trouvés dans un fractionnement ou d'une fissure verticale. Merci (et upvotes!) David Rivières pour la pointant vers elle.

33voto

Dave Ray Points 20873

J'aime les touches "ctrl-w s" et "ctrl-w v", à diviser la fenêtre. Puis-je mapper les touches de déplacement (h, j, k, l) avec la touche ctrl enfoncée pour déplacer entre les deux fenêtres:

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

Avoir à bouger ma main sur les touches de direction est ennuyeux.

Ensuite, j'ai mis en place ctrl-tab pour basculer entre les tampons dans la fenêtre en cours (comme beaucoup d'autres environnements):

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

Ceux-ci ont très bien fonctionné pour moi au cours de la dernière plusieurs années, bien que vim toujours plus de secrets que vous pouvez connaître.

33voto

orip Points 28225

J’utilise les notions de base - ' « + » « / » « + » '

24voto

David Rivers Points 1187

J'ai été en utilisant Wincent Colaiuta de Commande-T vim plugin pour un couple de mois maintenant. Wincent a écrit les parties qui ont besoin d'être rapide en C, et je dois dire que c'est! Et, je pense que son fichier correspondant à un modèle logique est encore mieux que Textmate de Commande de T. découvrez le screencast.

La Commande-T plug-in pour VIM fournit une manière extrêmement rapide, intuitive mécanisme pour ouvrir les fichiers avec un minimum d' nombre de frappes. Il est nommé La commande "-T" parce qu'il est inspiré par le "Aller dans "Fichier" de la fenêtre lié à Commande-T dans TextMate.

Les fichiers sont sélectionnés en tapant les caractères qui apparaissent dans leurs chemins, et sont commandés par un algorithme qui sait que les personnages qui apparaissent dans certains endroits (par exemple, immédiatement après un séparateur de chemin d'accès) il faudrait donner plus de poids.

Plus facile de la mémoire tampon de commutation contient de nombreux conseils utiles. J'ai adapté la suite de mon .vimrc, qui n'tampon-nom de l'auto-complétion, les cartes les plus utiles tampon des commandes de commutation à mon <Leader> et du côté gauche de la maison en rangée de touches, et indique le numéro de mémoire tampon dans la ligne d'état:

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

J'utilise aussi MiniBufExplorer, qui fournit un compact d'inscription de chaque tampon dans son propre split horizontal haut.

18voto

KOlegA Points 341
<pre><code></code><p><a href="http://www.vim.org/scripts/script.php?script_id=3736">ctrlp.vim</a>. à l’aide de ce plugin, vous pouvez rechercher tampon par nom.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X