web-dev-qa-db-fra.com

Puis-je utiliser la touche `<cmd>` dans Terminal Vim?

Après mon autre question récente: Comment mapper <cmd> - <shift> -f pour exécuter ack plugin dans vim?

Est possible d'utiliser le <cmd> clé dans Vim du tout?

Si Vim ne reconnaît pas la clé, est-il possible de remapper la clé à l'extérieur de Vim (d'une manière ou d'une autre?) À quelque chose d'autre et de carte que Touche à Vim ?

J'utilise ITERM 2 sur Lion avec Vim 7.3.

Merci!

22
jordelver

<D-> ne fonctionne que dans Macvim.

Un rapide Google retournera un tas de hacks et de solutions tierces. Toutes les solutions que je connais soit à l'échelle du système de travail, soit spécifique à l'application: si vous remappez Cmd dans ITERM2 uniquement, comment allez-vous ouvrir une nouvelle fenêtre ou un nouvel onglet? Avec ... avec ... le ... souris?

Je ne peux pas imaginer une bonne raison de remapper la clé Cmd sur quoi que ce soit sur un Mac. Ce serait fou.

Vim n'est pas textmate ou quel que soit autre éditeur que vous avez utilisé auparavant. Il n'y a aucun moyen de transférer toutes vos vieilles habitudes de manière transparente, point vide.

Au lieu de perdre votre temps à essayer de faire vim et votre terminal dans quelque chose que ce n'est pas et que vous ne pouvez pas être vous devriez apprendre à utiliser et à personnaliser Vim sagement . Tout votre Cmd + Shift + Ctrl + Alt combos ne vous mènera nulle part. Surtout dans un terminal où Alt est souvent problématique et Cmd inutilisable.

Pensez à utiliser <leader> (:help leader):

  • c'est portable sur chaque plate-forme
  • il est moins sujet aux conflits avec votre émulateur OS ou terminal
  • il ouvre beaucoup de possibilités faciles à retenir
12
romainl

J'ai trouvé que Iverm2 a une option dans les paramètres du clavier pour faire ce genre de chose. Pour EX ci-dessous, j'ai mappé la commande-entrer pour être: wq

enter image description hereenter image description here

5
Neil McGill

Pour des commandes simples, une solution via l'envoi du code hexagonal approprié au terminal. Par exemple, je voulais enregistrer dans Vim en appuyant sur cmd-s. J'ai cartographié cmd-s dans ITERM2 d'envoyer le code hexadécial 0x13 qui est le code pour ctrl-s, alors j'ai mappé ctrl-s à :wq dans Vim.

4
jhickner

La solution 2016 est à utiliser karabiner programme open source qui vous permet de remapper le modificateur et d'autres touches avec la granularité très fine , par exemple

  • Ramap uniquement le à gauche  ⌘ Cmd ou alors Option clé.
  • Remappez une clé uniquement pour des applications spécifiques, par ex. Seulement à l'intérieur de la borne, des emacs ou de la machine virtuelle.

Par exemple, voici comment remapper à gauche ⌘ Cmd clé pour agir comme Ctrl uniquement à l'intérieur de la borne (et laissez le bon non affecté afin que vous puissiez toujours utiliser par exemple. ⌘ Cmd + Tab Pour basculer entre les applications):

karabiner-screenshot

3
dorserg