Vim quickfix liste lancer des fichiers dans un nouvel onglet

Dites que j'ai:

map <F4> :execute "vimgrep /" .expand("<cword>") . "/j **" <Bar> cw<CR>

Qui greps (récursivement) le répertoire courant pour les instances du mot en cours le curseur est sur et ouvre ces fichiers dans la fenêtre de liste quickfix.

Depuis la fenêtre quickfix, comment lancer le fichier que j'ouvre dans un nouvel onglet? Entrez change simplement mon tampon actuel pour ce nouveau fichier.

22
demandé sur DumbCoder 2011-07-28 04:14:34

3 réponses

Les commandes de fenêtre Quickfix respectent l'option switchbuf lors de l'ouverture d'un tampon. L'option switchbuf a le spécificateur newtab qui indique à Vim d'ouvrir une nouvelle page d'onglet Avant de charger le tampon pour passer à. Si l'on ajoute à cette clé pour l'option, les résultats de la fenêtre quickfix seront ouverts dans des pages d'onglets séparées.

:set switchbuf+=newtab

Il y a le spécificateur usetab qui pourrait également être utile dans ce cas. Il prescrit Vim pour passer à la page d'onglet existante si elle contient une fenêtre affichage du tampon cible, au lieu de dupliquer dans un nouvel onglet.

:set switchbuf+=usetab,newtab

La valeur de switchbuf affecte également (en partie) d'autres tampons-commutation des commandes telles que :bfirst, :blast, :sbuffer, :sbnext, :sbprevious.

63
répondu ib. 2012-03-14 02:03:29
autocmd FileType qf nnoremap <buffer> <Enter> <C-W><Enter><C-W>T

Fonctionne Également si vous utilisez:

tab copen

Qui autrement diviserait d'abord la fenêtre, même avec set switchbuf+=newtab.

Voir aussi: https://vi.stackexchange.com/questions/6996/how-to-make-enter-open-new-tabs-for-the-quickfix-window-when-it-is-opened-with

3

Que diriez-vous d'essayerqfenter plugin?
Vous pouvez ouvrir chaque élément dans un nouvel onglet ou une nouvelle fenêtre fractionnée verticale/horizontale sans changer l'option switchbuf.
Il vous permet également d'ouvrir plusieurs éléments quickfix à la fois avec un bloc de sélection visuelle.

2
répondu yssl 2014-02-06 09:58:20