tutorial - negritas python
¿Cómo uso las teclas vi en ipython bajo*nix? (5)
En caso de que alguien esté deambulando aquí recientemente, IPython 5.0 cambió de readline a prompt_toolkit , por lo que una respuesta actualizada a esta pregunta es pasar una opción:
$ ipython --TerminalInteractiveShell.editing_mode=vi
... o para establecerlo globalmente en la configuración de perfil ( ~/.ipython/profile_default/ipython_config.py
; ipython profile create
con ipython profile create
si no lo tiene) con:
c.TerminalInteractiveShell.editing_mode = ''vi''
Actualmente en Bash utilizo set -o vi
para habilitar el modo vi en mi prompt bash.
¿Cómo hago esto en ipython?
Nota: Si se aplica una respuesta a todo * nix, eliminaré el OS X del título :)
Necesitaba poder cambiar de modo de manera interactiva en IPython 5 y descubrí que puedes hacerlo recreando el administrador de solicitudes sobre la marcha:
a = get_ipython().configurables[0]; a.editing_mode=''vi''; a.init_prompt_toolkit_cli()
Parece que una solución funciona para muchas otras aplicaciones compatibles con readline:
Establezca lo siguiente en su archivo ~/.inputrc
:
set editing-mode vi
set keymap vi
set convert-meta on
También puede cambiar interactivamente entre el modo Vi-modo y el modo Emacs. De acuerdo con los documentos de lectura para cambiar entre ellos, se supone que se puede usar la combinación de teclas MCj, pero eso solo parece permitirme cambiar al modo vi, en mi Mac (donde ESC se usa como la tecla ''Meta'' ) es: ESC + CTRL + j . Para volver al modo Emacs, se puede usar Ce, pero eso no pareció funcionar para mí, tuve que hacer MCe, en mi Mac es: ESC + CTRL + e .
FYI mi ~ / .inputrc está configurado de la siguiente manera:
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
ipython
usa la biblioteca readline y esto es configurable usando el archivo ~/.inputrc
. Puedes añadir
set editing-mode vi
a ese archivo para hacer que todas las aplicaciones basadas en readline
usen combinaciones de teclas de estilo vi en lugar de Emacs.