Comment puis-je changer le vim curseur dans Insertion/mode normal?
Je voudrais savoir, si possible, comment changer le curseur dans vim (couleur, forme, etc), selon quel mode vous êtes.
Je suis constamment à oublier que je ne suis pas en mode insertion et de commencer à taper le code, ce qui entraîne toutes sortes de choses folles qui se passe. Il serait utile si il y avait une indication visuelle sur le curseur.
- Je vous suggère d'apprendre une règle: arrêté de taper => sortir du mode insertion. Ensuite, vous n'aurez plus jamais à observer une situation où vous avez oublié que vous n'êtes pas en mode insertion.
Vous devez vous connecter pour publier un commentaire.
Une option populaire pour indiquer la commutation en mode Insertion (et de retour à la Normale
mode) est le basculement de la
cursorline
option qui est responsable de lal'écran actuel de la ligne est mise en surbrillance.
ou
cursorline
option ne dépend pas d'une plate-forme spécifique de la capacité; il est disponible sur tous les Vim exemple compilé avec le+syntax
fonction (ce qui est généralement le cas).Les ouvrages suivants pour xterm/urxvt/... (Linux), iTerm2 (Mac), Git Bash avec ConEmu (Windows) et plus (voir les commentaires):
Autres options (remplacer le nombre après \e[):
Lorsque vous utilisez tmux il est important que vous l'utiliser comme ceci (sans
\<Esc>Ptmux;
échapper). tmux permettra de garder une trace de la bonne forme du curseur lorsque vous changer de fenêtres/volets.Si cela ne fonctionne pas pour vous, essayez de mettre en
TERM=xterm-256color
avant de commencer tmux ou l'ajouter à votre .tmux.conf (merci @Steven Lu):autocmd VimEnter * redraw!
à laaugroup
.set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
dans mon tmux de configuration. Apparemment, si vous utilisezset
pourterminal-overrides
sans-a
, il remplacera le paramètre, qui a déjà des à ce il par défaut.Si vous utilisez tmux et iTerm2 sur OSX,
les modifications suivantes le curseur à partir d'un bloc à un curseur et met en évidence la ligne actuelle
de crédit: https://gist.github.com/andyfowler/1195581
terminal-overrides
était uniquement être ajouté, de sorte qu'il n'a pas supprimé la,*:Ss=\E[%p1%d q:Se=\E[2 q
partie determinal-overrides
. donc ma config ressembleset -sa terminal-overrides ",xterm-256color-italic:Tc"
(pour fixer la couleur 24 bits permettant sans fouler le curseur de styles Ss/Se.De changer la forme du curseur dans les différents modes, vous pouvez ajouter la ligne suivante dans votre vimrc.
Pour le Gnome-Terminal (version 2.26)Modifier
Si vous utilisez plus d'un profil dans gnome-terminal, vous pourriez avoir à adapter à vos profils.
Pour Konsole dans KDE4Edit
Cela fonctionne avec plusieurs onglets et fenêtres.
http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes
set ttimeoutlen=0
Vous pouvez essayer les terminus plugin vim:
Je trouve qu'il est utile d'avoir seulement le curseur clignote dans le mode Insertion et statique dans les autres modes.
Cela fonctionne correctement sur xfce4-terminal:
ajouter le script suivant pour votre
.vimrc
Bref:
Comme Vous le savez xfce4-terminal conserve préférences dans
.config/xfce4/terminal/terminalrc
fichier. Les modifications de scriptTERMINAL_CURSOR_SHAPE_BLOCK
àTERMINAL_CURSOR_SHAPE_IBEAM
lorsque vous êtes en mode insertion, et à l'arrière pour bloquer lorsque vous quittez le mode d'insertion ou vim. N'hésitez pas à changerIBEAM
pour tout ce que vous voulez (BLOCK
,IBEAM
etUNDERLINE
disponibles).Ne sais pas si quelqu'un d'autre est face à un retard après avoir atteint
ESC
touche pour retourner au mode normal pour afficher le curseur en forme de bloc, mais si oui, c'est la façon dont je le fixer trop.En fait, je suis en utilisant iTerm2 et à l'aide de Vim à l'intérieur de mon terminal sur Mac. Et lors de la saisie en mode insertion, le curseur encore un bloc et est un peu déroutant lorsque vous êtes en mode insertion ou en mode normal.
Je voulais montrer une mince ligne de curseur en mode insertion et de retour à bloc quand en mode normal comme MacVim n'. Et pour ce faire c'est très simple, juste ajouté ça à mon
.vimrc
fichier décrit ici:Mais comme vous pouvez le voir, il y avait un retard lors de la frappe
ESC
pour sortir du mode insertion de retour à la normale de la mode et de montrer le bloc comme curseur de nouveau. Donc, pour le fixer, j'ai trouvé ceci:Et maintenant il fonctionne très bien comme vous pouvez le voir:
J'espère qu'elle pourra aider un autre!!!!
Si vous utilisez une version moderne de
nvim
et que tu voulais faire cela, vous pouvez éviter certains de ces fantaisie solutions énumérées ci-dessus.Ci-dessous les réglages de l'interrupteur de blocage du curseur en mode normal, pour souligner le curseur de la remplacer à la ligne du curseur en mode insertion.
J'ai réussi à le faire fonctionner avec les paramètres suivants tirés de ces deux sources.
tui-curseur en forme de
guicursor
J'ai l'habitude de le vim courant de mode sur statusline, entre autres choses. Si vous cherchez la simplicité, vous pouvez définir seulement, cette information sur la statusline.
Pourtant, d'habitude, vraiment des choses folles se produire lorsque vous avez caps lock déprimé et sont en mode commande (depuis hjkl sont maintenant HJKL - juste J et K est assez pour vous faire tirer les cheveux quand vous ne comprenez pas ce qui se passe. Faire un
:h J
et:h K
pour voir ce que je veux dire). Juste méfiez-vous de la touche de verrouillage des majuscules et vous serez amende la plupart du temps, de l'OMI.