2010-09-27 23 views
5

Sto solo iniziando a usare Python, ma sono un utente emacs molto esperto. Cercherei di decidere tra python.el e python-mode.el (o qualsiasi altra modalità equivalente che le persone possano suggerire).Preferenze modalità emacs python

Attualmente sto appoggiato fortemente verso python-mode.el, soprattutto perché ha un metodo utile "trattino-regione" ...

Tuttavia, ci sono un paio di caratteristiche di C-mode che mi sembra in entrambi i modi manca la funzione next/previous (c-beginning-of-defun) (questo differisce da py-goto-block-up in quel 1) non c'è py-goto-block-down, e 2) puoi usare cb .... per scorrere verso l'alto attraverso più funzioni, ma il py- .. esce solo livelli)

Inoltre, poiché C ha parentesi, ecc, è facile trovare l'inizio/fine di una sezione corrente. PY-goto-block-up mi dà l'inizio di un blocco, ma non esiste un equivalente per la fine del blocco ...

grazie

+0

Puoi far rientrare i blocchi Python rigidamente con python.el in Emacs 23.2 semplicemente selezionando il testo del blocco e quindi digitando Cc <(python-shift-left) o Cc> (python-shift-right) se questo è ciò che fa appello a tu su indent-region in python-mode.el – codeasone

+0

Qual è la domanda? –

+0

La domanda è "Esiste una migliore modalità Python? O come posso fare queste cose nelle modalità Python esistenti?" –

risposta

4

Non ci sono C-M-a e C-M-e in python-mode. Vanno all'inizio e alla fine, rispettivamente, della def corrente o della classe. Sono mappati su beginning-of-defun e end-of-defun per impostazione predefinita.

C'è anche C-c C-u, che è mappato a python-beginning-of-block. La mia modalità Python non mappa python-end-of-block per impostazione predefinita, ma è anche lì.

+0

sì, ma funzionano solo per le strutture di livello superiore, come def e class ... non puoi usarle per trovare la fine di un forloop ... –

+0

Ah, per qualche motivo pensavo che tu avessi già 'python- [ inizio | fine]-of-blocco-. Modificato. – nmichaels

0

trovo pdbtrack (parte di python-mode.el) inestimabile

0

corrente python-mode.el viene fornito con un sacco di grana più fine comandi resp. per bloccare, affermazione, espressione, parziale espressione, di classe, DEF, linea

con gli attributi di Beg/fine/copiare/cancellare/eseguire

ottenere in

https://launchpad.net/python-mode

0

Don Dimentica che ci sono due file python.el. Uno è il "vecchio" in Emacs ora, e the other è di fgallina e sarà in Emacs 24.2 quando verrà rilasciato. Non sono qualificato per dire se il nuovo è migliore di python-mode.el.