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