¿Cómo personalizar .inputrc para hacer que Command-Delete y Option-Delete eliminen líneas y palabras en iTerm 2?

Me gustaría agregar un poco de consistencia entre la edición de texto en la terminal y la edición de texto en programas normales de OS X. Uso iTerm2, pero imagino que cualquier solución implicaría usar readline y .inputrcque probablemente funcionaría en la mayoría de las terminales.

Específicamente, estaba pensando en agregar:

  • Command- Delete: Eliminar hasta el inicio de la línea antes del cursor
  • Option- Delete: Eliminar palabra antes del cursor
  • Option- Left/Right Arrow: Mueve el cursor entre palabras
  • Command- Left/Right Arrow: Mueve el cursor al inicio/final de la línea

Preguntas

  • ¿ Cómo podría .inputrcconfigurarse para admitir estos atajos de teclado?
  • ¿Alguno de estos atajos generaría conflictos con los atajos de terminal o línea de comandos existentes?
  • ¿Hay otros accesos directos que serían útiles para crear coherencia con las teclas de edición de texto estándar de OS X?

Como nota al margen, soy consciente de que existen atajos de estilo Vi y Emacs para realizar estas operaciones. De hecho, uso mucho los atajos de estilo Vi en la línea de comandos. Sin embargo, a veces, cuando mi mente no ha cambiado de modo, es perjudicial. Por lo tanto, sería bueno si la terminal pudiera admitir atajos de estilo OS X y Vim.

Respuestas (2)

⌘← se puede asignar a \eOHy ⌘→ a \eOF. Puede asignar ⌥← a me \ebgusta en Terminal, pero no funciona en modo vi o nano.

En el modo emacs, también puede agregar esto a .inputrc:

"\e[1;9D": backward-word
"\e[1;9C": forward-word
"\e[3~": kill-word

C-vmuestra la secuencia de escape para la siguiente combinación de teclas. ^[es ESC en notación de intercalación. bind -pimprime los comandos enlazados actualmente.

Respuesta preliminar; sigo buscando otras combinaciones de teclas

La siguiente publicación explica cómo configurar Alt+izquierda/derecha en Iterm2. Curiosamente, requiere tanto la configuración .inputrccomo la personalización de iTerm2.