124 votes

Ouverture de l'aide de Vim dans une fenêtre divisée verticalement

Existe-t-il un moyen de faire en sorte que l'aide de Vim s'ouvre dans un volet vertical plutôt que dans un volet horizontal ?

136voto

m42 Points 1464

:vertical ( vert ) travaux :

:vert help

Vous pouvez également contrôler si la fenêtre se divise sur la gauche/le haut ou la droite/le bas avec topleft ( to ) y botright ( bo ) . Par exemple, pour ouvrir l'aide dans la fenêtre de droite d'une division verticale :

:vert bo help

2 votes

Comment puis-je faire en sorte que lorsque je lance :help ____, il s'ouvre toujours comme ça ?

15 votes

@Tallboy Try cnoremap help vert help . Cela crée un mappage en mode commande, de sorte que lorsque vous tapez help en mode commande, vous verrez qu'il se développe en vert help .

3 votes

@Kazark : cnoremap help vert help fait que chaque lettre de help apparaît par lui-même, donc le mot help n'apparaît pas sur la ligne de commande. Y a-t-il un moyen de corriger cela ? Peut-être quelque chose d'autre que cnoremap ?

47voto

EdJoJob Points 63

En guise d'alternative aux réponses de Haroogan et Sean, vous pouvez utiliser la fonction FileType pour l'autocommande comme ceci :

autocmd FileType help wincmd L

Bien que cela modifie la position de toute fenêtre d'aide, il est possible de déplacer la fenêtre après l'avoir placée manuellement si le fichier que vous consultez change. Mais je crois qu'il s'agit là d'un problème inhérent à toute solution.

3 votes

Simple, et (si je comprends bien) les effets secondaires sont négligeables. Pourquoi n'est-ce pas la réponse acceptée ? Et pourquoi une réponse complètement hors sujet ( :vsplit ) ont beaucoup de votes positifs ?

1 votes

J'ai voté pour cette réponse et celle d'Haroogan pour leur simplicité. Je ne suis pas très familier avec les événements d'autocmd et je me demandais quelle était la raison d'être de help,* au lieu de simplement help . De plus, j'ai remarqué que cette commande fonctionne lorsque je l'ajoute à mon fichier _vimrc et lancer une nouvelle instance de GVim mais pas lorsque je lance la commande dans ma session GVim actuelle (je dois manuellement :set ft=help pour déclencher l'autocmd).

0 votes

Merci pour le commentaire : le * n'était pas réellement nécessaire. D'après ce que j'ai compris, pour la session en cours par rapport à la nouvelle session, dans la nouvelle session, vous devrez réapprovisionner votre vimrc pour que les changements prennent effet, en plus si le fichier est déjà ouvert dans le tampon et que :help vous amène juste à une partie différente du fichier, ceci autocmd n'aura aucun effet

22voto

Haroogan Points 6159

Il n'est pas nécessaire de remapper des commandes ou d'introduire des alias bizarres comme :Help . Voici la solution. Créez ~/.vim/after/ftplugin/help.vim où vous pouvez remplacer tous les paramètres de Vim, en particulier pour help et ajoutez-y la ligne suivante :

autocmd BufWinEnter <buffer> wincmd L

Ce crochet permettra de s'assurer que toute help est ouvert en division verticale. De plus, il n'a pas l'effet secondaire décrit dans la réponse de Sean. Personnellement, cette solution est parfaite pour moi jusqu'à présent.

J'espère que cela vous aidera. Bonne chance.

19voto

Berzemus Points 2909

Cette commande devrait le faire :

:vert help

10 votes

Je ne comprends pas. Tous :vsplit permet de diviser verticalement la fenêtre actuelle. Comment cela permet-il d'ouvrir l'aide dans un volet vertical ?

0 votes

@doubleDown 7 ans plus tard... :vert n'est pas la même chose que :vsplit . Dans la documentation : " :vert {cmd} , Exécuter {cmd}. S'il contient une commande qui divise une fenêtre, celle-ci sera divisée verticalement." EDIT : oh votre commentaire a été posté alors que cette réponse était incorrecte...

7voto

Chronial Points 15402

Mettez ceci dans votre .vimrc :

command -nargs=* -complete=help Help vertical belowright help <args>

Vous pouvez maintenant ouvrir une aide verticale avec le :Help (remarquez que la première lettre est en majuscule)

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