Puis-je utiliser la clé `<cmd>` dans le terminal Vim?


22

Dans le prolongement de mon autre question récente: comment mapper <cmd> - <shift> -f pour exécuter le plug-in Ack dans Vim?

Est-il possible d'utiliser la <cmd>clé dans Vim du tout?

Si Vim ne reconnaît pas la clé, est-il possible de remapper la clé en dehors de Vim (d'une manière ou d'une autre?) À quelque chose d'autre et de mapper cette clé dans Vim?

J'utilise iTerm 2 sur Lion avec Vim 7.3.

Merci!

Réponses:


12

<D-> ne fonctionne que dans MacVim.

Un rapide google renverra un tas de hacks et de solutions tierces. Toutes les solutions que je connais fonctionnent à l'échelle du système ou sont spécifiques à l'application: si vous Cmdremappez uniquement dans iTerm2, comment allez-vous ouvrir une nouvelle fenêtre ou un nouvel onglet? Avec… avec… la… SOURIS?

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

Vim n'est pas TextMate ou tout autre éditeur que vous avez utilisé auparavant. Il n'y a aucun moyen de transférer toutes vos anciennes habitudes de façon transparente, à bout portant.

Au lieu de perdre votre temps à essayer de transformer Vim et votre terminal en quelque chose qui n'est pas et ne peut pas être, vous devriez apprendre à utiliser et à personnaliser Vim avec sagesse. Tous vos Cmd+ Shift+ Ctrl+ Altcombos ne vous mènera nulle part. Surtout dans un terminal où Altest souvent problématique et Cmdinutilisable.

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

  • il est portable sur toutes les plateformes
  • il est moins sujet aux conflits avec votre système d'exploitation ou votre émulateur de terminal
  • il ouvre de nombreuses possibilités faciles à retenir

Haha, merci grawity, c'est beaucoup plus propre maintenant.
romainl

Merci pour la réponse. J'avais entendu parler du <leader>mais je ne savais pas trop comment l'utiliser. Je suis d'accord avec votre point sur la portabilité, cela fait partie de la raison pour laquelle je déménage à Vim. Merci.
jordelver

Vous pouvez remapper Cmdà Controlen iTerm2, puis dans la même fenêtre, ajouter des raccourcis pour ouvrir un nouvel onglet avec ^t, etc. fonctionne tout alors!
Sean Clark Hess

5

J'ai trouvé qu'iterm2 avait une option dans les paramètres du clavier pour faire ce genre de chose. Par exemple, ci-dessous, j'ai mappé la commande-entrée pour être: wq

entrez la description de l'image icientrez la description de l'image ici


Merci pour cette solution. C'est exactement ce que je cherchais. Je connais <Leader>, mais je pense que certaines choses comme l'enregistrement d'un fichier devraient être universelles.
Dmitry Biletskyy

4

Pour les commandes simples, il existe une solution en envoyant le code hexadécimal approprié au terminal. Par exemple, je voulais enregistrer dans vim en appuyant sur cmd-s. J'ai mappé cmd-sdans iterm2 pour envoyer le code hexadécimal 0x13qui est le code pour ctrl-s, puis j'ai mappé ctrl-sdans :wqin vim.


Comment faites-vous exactement une telle chose? Merci.
nunos

N'a pas fonctionné pour moi le code hexadécimal 0x13: / imgur.com/RjxOoLY
michalzuber

Pour savoir comment faire, voir les photos ci-dessous - merci @jhickner pour l'idée de regarder iTerm2
Neil McGill

3

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

  • Remappez uniquement la touche gauche ⌘ Cmd ou Option.
  • Remappez une clé uniquement pour des applications spécifiques, par exemple uniquement à l'intérieur du terminal, d'Emacs ou d'une machine virtuelle.

Par exemple, voici comment remapper la ⌘ Cmdtouche gauche pour n'agir Ctrl qu'à l'intérieur du terminal (et laisser la droite inchangée afin que vous puissiez toujours l'utiliser, par exemple, ⌘ Cmd + Tabpour basculer entre les applications):

mousqueton-capture d'écran


Impressionnant. Maintenant, je peux l'utiliser correctement dans Vim, bien que la commande (gauche) + tab ne soit pas "alt tab". Je peux utiliser la bonne commande, mais y a-t-il un moyen de garder cela d'une manière ou d'une autre?
meder omuraliev
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.