56 votes

Comment obtenir un curseur de bloc dans Vim dans le terminal Cygwin ?

J'ai l'habitude d'avoir un curseur de bloc en mode normal dans Vim. Cela a du sens avec le paradigme de Vim ; lorsque vous appuyez sur x il est clair que le personnage sera supprimé.

J'ai installé Cygwin sur un ordinateur Windows, mais lorsque j'utilise Vim dans son terminal, j'obtiens le message suivant I curseur, même en mode normal. Comment puis-je faire en sorte que le curseur soit un bloc à la place ?

89voto

Kazark Points 3299

Cette question sur la liste de diffusion Cygwin répond à la question en définissant certaines variables obscures avec les séquences d'échappement appropriées. Ajoutez ceci à votre .vimrc :

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

35voto

mattjames Points 898

Il y a un paramètre pour ça, dans l'émulateur de terminal cygwin :

Cliquez avec le bouton droit de la souris sur la barre de titre de la fenêtre > Options > Aspect > Curseur > Bouton radio du curseur

4voto

qeatzy Points 286

Créer un fichier ~/.minttyrc ajoutez-y la ligne suivante

CursorType=block

Puis relancer mintty qui est le terminal par défaut de Cygwin.

0voto

Andreas Spindler Points 249

Ou bien, vous pouvez créer un fichier batch :

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

Et exécutez-la.

Si vous n'aimez pas le curseur clignotant de la commande DOS Windows, utilisez aussi %COMSPEC% 代わりに /bin/env/... et être surpris.

0voto

muriloq Points 1031

Des personnes ont soulevé le problème de la réponse de @Kazark qui fixe le curseur pour toute la session Shell, pour le remettre sur une ligne, il y a deux choses que vous pouvez faire :

Dans .vimrc :

autocmd VimLeave * silent let &t_te.="\e[5 q"

Ce qui devrait se mettre en place lorsque vous quittez vim mais ce n'est pas sans défaut (en particulier lorsque je fais tourner tmux sous Windows et sur une machine Linux à laquelle je suis connecté), vous pouvez émettre :

 printf '\033[5 q' 

à l'invite de commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X