12
votes

Pourquoi et ne fonctionne pas dans Vim?

J'ai Vim 7.2 installé sur Windows. Dans gvim, le code> et code> fonctionne pour la navigation entre les onglets par défaut. Cependant, cela ne fonctionne pas pour Vim.

J'ai même ajouté les lignes ci-dessous dans _vimrc code>, mais cela ne fonctionne toujours pas. P>

map <C-left> :tabp<CR>
map <C-right> :tabn<CR>


0 commentaires

3 Réponses :


12
votes

Le problème que vous décrivez est généralement causé par les paramètres de terminal de VIM qui ne connaissant pas la séquence de caractères correcte pour une clé donnée (sur une console, toutes les touches de frappe sont transformées en une séquence de caractères). Il peut également être causé par votre console n'envoiant pas une séquence de caractères distincte pour la clé que vous essayez d'appuyer sur.

Si c'est le problème, faites quelque chose comme cela peut fonctionner autour de lui: P>

:map <CTRL-V><CTRL-PAGEUP> :tabp<CR>


2 commentaires

Il s'avère être du 1er problème. Je tapez littéralement ": map", puis frappez Ctrl-PageUp dans Keyborad, puis sur ": tabp ". Ça marche. Mais cela montre ci-dessous dans _VIMRC. Carte ¿: TABP Carte Î: Tabn


@ G33KZ0R: Link's Dead. Alors qu'est-ce qui le corrige pour vous? Ou supprimer le commentaire ;-)



3
votes

Cela peut sembler évident pour beaucoup, mais les utilisateurs de Konsole doivent être conscients que certaines versions se lient Ctrl-PageUp / ctrl-pagedown comme des liaisons secondaires à sa propre fonctionnalité de fenêtre à onglets (ce qui peut ne pas être évident Si vous n'utilisez pas cette fonctionnalité). Il vous suffit de les effacer à partir du menu "Configurer les raccourcis", les a obtenues correctement dans Vim pour moi. Je suppose que d'autres terminaux peuvent avoir des caractéristiques similaires Enabeld par défaut.


1 commentaires

J'ai eu ce même problème et une solution avec Gnome-Terminal.



0
votes

J'ajoute cette réponse, prenant des détails de VI & VIM , pour intégrer ceux qui sont déjà passés Donné / accepté avec des détails supplémentaires qui sonnent très important pour moi.

Les réponses proposées par ALREDY

C'est vrai ce que L'autre réponse dit:

  • mappe : echo "bonjour" ne fonctionnera pas car Vim ne sait pas quelle séquence d'échappement correspond au codcode < / code>;
  • Une solution consiste à taper la séquence d'évacuation explicitement: mappe ^ [[[5 ^: echo "hello" , où la séquence d'évacuation ^ [[5 ^ (qui est en général différent de la borne à la borne) peut être obtenu par Ctrl + V CTRL + PageUP .

    un détail important supplémentaire

    D'autre part, la meilleure solution pour moi est la suivante xxx

    qui utilise un de codes de clé de fonction supplémentaires (vous pouvez utiliser jusqu'à ). De même, vous pouvez avoir un tas de Set KeyCode = Escapequence tous ensemble en une seule place dans votre .vimrc (ou dans un autre fichier dédié que vous provenez de votre .VIMRC , pourquoi pas?).


0 commentaires