¿Puedo usar la tecla `<cmd>` en la terminal Vim?

Respuestas:

12

<D-> solo funciona en MacVim.

Un google rápido devolverá un montón de hacks y soluciones de terceros. Todas las soluciones que conozco funcionan en todo el sistema o son específicas de la aplicación: si reasigna Cmdsolo en iTerm2, ¿cómo va a abrir una nueva ventana o una nueva pestaña? ¿Con ... con ... el ... RATÓN?

No puedo imaginar una buena razón para reasignar la Cmdclave de nada en una Mac. Eso sería una locura.

Vim no es TextMate o cualquier otro editor que haya usado antes. No hay forma de transferir todos sus viejos hábitos sin problemas, apunte en blanco.

En lugar de perder el tiempo tratando de hacer que Vim y su terminal se conviertan en algo que no es ni puede ser, debe aprender a usar y personalizar Vim sabiamente. Todos tus combos Cmd+ Shift+ Ctrl+ Altno te llevarán a ningún lado. Especialmente en una terminal donde a Altmenudo es problemático e Cmdinutilizable.

Considere usar <leader>( :help leader):

  • es portátil en todas las plataformas
  • Es menos propenso a conflictos con su sistema operativo o emulador de terminal
  • abre muchas posibilidades fáciles de recordar
romainl
fuente
Jaja, gracias Grawity, ahora está mucho más limpio.
romainl
Gracias por la respuesta. Había oído hablar del <leader>pero no estaba seguro de cómo debería usarse. Estoy de acuerdo con su punto sobre la portabilidad, esta es parte de la razón por la que me estoy mudando a Vim. Gracias.
jordelver
Puede volver a asignar Cmda Controlen iTerm2, y luego en la misma ventana, añadir accesos directos para abrir una nueva pestaña con ^t, etc. todo funciona entonces!
Sean Clark Hess
5

Descubrí que iterm2 tiene una opción en la configuración del teclado para hacer este tipo de cosas. Por ejemplo, a continuación, asigné command-enter para ser: wq

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Neil McGill
fuente
Gracias por esta solución Esto es justo lo que estaba buscando. Sé sobre <Líder>, pero creo que algunas cosas como guardar un archivo deberían ser universales.
Dmitry Biletskyy
4

Para comandos simples, existe una solución mediante el envío del código hexadecimal apropiado al terminal. Por ejemplo, quería guardar en vim presionando cmd-s. Me asignan cmd-sen iterm2 para enviar el código hexadecimal 0x13, que es el código para ctrl-s, a continuación, Me asignan ctrl-sa :wqen vim.

jhickner
fuente
¿Cómo haces exactamente tal cosa? Gracias.
nunos
No funcionó para mí el código hexadecimal 0x13: / imgur.com/RjxOoLY
michalzuber
Para ver cómo hacerlo, vea las fotos a continuación: gracias @jhickner por la idea de mirar iTerm2
Neil McGill el
3

La solución de 2016 es utilizar el programa de código abierto Karabiner que le permite reasignar el modificador y otras teclas con granularidad muy fina , por ejemplo

  • Reasigne solo la izquierda ⌘ Cmd o la Optiontecla.
  • Reasigne una clave solo para aplicaciones específicas, por ejemplo, solo dentro de Terminal, Emacs o máquina virtual.

Por ejemplo, aquí se explica cómo reasignar la ⌘ Cmdtecla izquierda para actuar Ctrl solo dentro de la Terminal (y no afectar la derecha para que pueda seguir utilizando, por ejemplo, ⌘ Cmd + Tabpara cambiar de una aplicación a otra):

karabiner-screenshot

dorserg
fuente
Increíble. Ahora puedo usar eso en Vim correctamente, aunque el comando (izquierda) + tabulador no "tab alt". Puedo usar el comando correcto, pero ¿hay alguna forma de mantenerlo de alguna manera?
meder omuraliev