¿Hay un buen modo de emacs que permita completar las pestañas de las variables python locales? Configuré ipython.el pero solo completará las pestañas en el alcance del intérprete. Estoy buscando algo que me permita completar tabuladores en el espacio de nombres local de una función o archivo.Emacs: finalización de tabulación de las variables locales de Python
Respuesta
Creo que usted puede estar buscando something like this. Utiliza Pymacs y python-mode para hacer justo lo que está buscando.
Háganos saber cómo funciona para usted?
M-/ejecuta el comando dabbrev-expand. Esto completará los nombres locales en cualquier modo. También enlace meta f1 a hippie expandir desde todos los búferes abiertos. Esto es muy útil para mí
;; Bind hippie-expand
(global-set-key [(meta f1)] (make-hippie-expand-function
'(try-expand-dabbrev-visible
try-expand-dabbrev
try-expand-dabbrev-all-buffers) t))
Espero que esto te sea útil.
La publicación de blog que describe el tipo de finalización de tabulación que desea puede encontrarse en Python code completion in Emacs. Hay un poco de instalación de paquetes, pymacs, AutoComplete, cuerda, ropemacs, modo de cuerda, yasnippet y configuración, pero al final espero que valga la pena.
Uso emacs-autocomplete.el (versión 0.2.0) junto con yasnippet. Funciona bien para mí, aunque no es un entorno completo de autocompletado como eclipse + java. Pero suficiente para un hacker de emacs común como yo :)
1) Descargue autocompletar de here (primer enlace) y colóquelo en su directorio de ruta de carga. Descargue también las extensiones que desea usar (Atención: las extensiones Ruby y etags necesitan material adicional). Póngalos también en su directorio load-path.
2) Descargue yasnippet e instálelo como lo indica la instrucción en esa página (incluida la parte (requiere ...)).
3) Poner estas líneas en el fichero .emacs y editarlos para sus necesidades (como todas las extensiones que desee utilizar):
(require 'auto-complete)
(global-auto-complete-mode t)
(when (require 'auto-complete nil t)
(require 'auto-complete-yasnippet)
(require 'auto-complete-python)
(require 'auto-complete-css)
(require 'auto-complete-cpp)
(require 'auto-complete-emacs-lisp)
(require 'auto-complete-semantic)
(require 'auto-complete-gtags)
(global-auto-complete-mode t)
(setq ac-auto-start 3)
(setq ac-dwim t)
(set-default 'ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer ac-source-files-in-current-dir ac-source-symbols))
Para más información sobre las opciones de ver el auto-complete.el archivo.
4) Reinicie emacs o haga un archivo de carga M-x con su archivo .emacs. Escriba un código y presione TAB para autocompletar.
Si solo quieres ponerlo en marcha con un mínimo esfuerzo, prueba el paquete emacs-for-python.
Happy coding!
Use Jedi!
Realmente entiende Python mejor que cualquier otra biblioteca de autocompletar:
- órdenes internas
- múltiples retornos o rendimientos
- asignaciones de tupla/indexación de matrices/diccionario de indexación
- manejo con-declaración/excepción
- * args/** kwargs
- decoradores/lambdas/cierres
- generadores/iteradores
- algunos descriptores: Vivienda/métodoestático/classmethod
- algunos métodos mágicos:
__call__
,__iter__
,__next__
,__get__
,__getitem__
,__init__
- list.append(), set.add(), lista.extend(), etc.
- (anidados) listas por comprensión/expresiones ternarias
- importaciones en relación
- getattr()/
__getattr__
/__getattribute__
- simples modificaciones habituales sys.path/
- cheques isinstance porque si/mientras/valer
- 1. Finalización de tabulación en las sesiones SSH en modo shell de Emacs
- 2. usando emacs Finalización de CEDET para python
- 3. Variables locales en las funciones anidadas de Python
- 4. ¿Cómo se definen las variables estáticas locales locales de subprocesos?
- 5. sincronizados y locales copias de las variables
- 6. Imprimir todas las variables globales/variables locales?
- 7. acceso todas las variables locales
- 8. Entender las opciones del modo de finalización de Emacs
- 9. Acceso a variables locales dentro de un generador de Python
- 10. Locales de contexto: ¿cómo hacen que las variables de contexto locales sean globales?
- 11. Finalización de tabulación en los comandos de Vim
- 12. Las variables locales en las definiciones de clase/ámbito
- 13. Enganche en la finalización de tabulación en C
- 14. Emacs minibúfer finalización
- 15. variables de sesión vs variables locales
- 16. Finalización de tabulación en el intérprete de Python en el terminal OS X
- 17. Las variables locales en el código de bytes de Java
- 18. referencia colapso para las variables locales
- 19. las variables Constructor-locales en Scala
- 20. Java ¿cómo imprimir todas las variables locales?
- 21. Cómo acceder a las variables locales dinámicas
- 22. ¿Cómo declarar las variables locales en postgresql?
- 23. Finalización de pestañas con Cmd.cmd de Python
- 24. Modificación de locales en Python
- 25. Finalización de Emacs: autocompletar o empresa?
- 26. Valores predeterminados de variables de instancia y variables locales
- 27. ¿Dónde se almacenan las variables locales de .NET?
- 28. ¿Dónde se almacenan las variables locales finales de Java?
- 29. duración de las variables locales débiles con ARC
- 30. ¿Cuándo se asigna espacio de pila para las variables locales?
que poner esto en marcha, y parece que no lo hace la finalización de las variables en el ámbito local - se supone que? ¿Puede darme los pasos exactos que debe seguir una vez en emacs para activarlo si hay algo que deba hacer después de instalarlo? gracias – zak23
Como se indica a continuación: M-/ejecuta el comando dabbrev-expand –