2011-07-09 13 views

Respuesta

22

¿Tiene set -o vi establecido, ya sea en la línea de comandos o en uno de sus scripts de inicio? Eso lo enciende para el caparazón. Tengo tanto "set editing-mode vi" como set -o vi y tengo una edición tipo Vi en IRB.


EDIT:

intente crear ~/.editrc, puso bind -v en ella. Snow Leopard tiene soporte para editline incorporado, por lo que podría ser lo que IRB esté usando.

Pruebe man 5 editrc para obtener más información.

+1

Sí He configurado -o vi en ~/.bashrc (bueno en realidad ~/.bash_profile), y tengo edición de vi en la línea de comandos antes de entrar en irb, pero luego dentro de irb, simplemente no parece procesar el archivo ~/.inputrc. Este es un revés bastante frustrante para mí usando rvm. Estoy seguro de que hay una solución. Alguien me recomendó que probara Readline.set_vi_editing (o algún comando similar) pero me salió el error "no implementado en esta máquina". Mac Snow Leopard. – pixelearth

+1

El archivo ~/.editrc funcionó. Eres un genio te quiero. Jurar por Dios. Me pregunto por qué el sistema usaba ~/.inputrc y el rvm irb usa ~/.editrc ... – pixelearth

+0

~/.editrc también me funcionó, estoy ejecutando el león de montaña. ¡Gracias! – trumans1

10

Como se mencionó anteriormente, puede agregar bind -v en su ~/.editrc.

El problema con esto, como es posible que haya notado o no, es que esto elimina su capacidad de utilizar la finalización de tabulación. Si desea mantener la tabulación completa, puede agregar: bind \\t rl_complete a su ~/.editrc.

4

Utilizando Ruby 1.9.3 instalado RVM en Mountain Lion, pude obtener enlaces de teclas vi en irb agregando bind -v a ~/.editrc. Instalé Ruby 2.0 usando RVM en el mismo sistema y el IRB se atascó en el modo emacs. Al agregar set editing-mode vi a ~/.inputrc, vi las encuadernaciones de vi que funcionan en irb en Ruby 2.0 para mí.

+0

Tuve una experiencia similar con MAC OSX El Capitan, usando Python3. Al agregar ambos bind -v a .editrc, y establecer el modo de edición vi a inputrc funcionó. – arcseldon

Cuestiones relacionadas