2010-09-27 15 views
5

Zaczynam używać Pythona, ale jestem bardzo doświadczonym użytkownikiem emacsa. Próbowałem podjąć decyzję między python.el a python-mode.el (lub dowolnym innym równoważnym trybem, jaki ludzie mogą zasugerować).preferencje trybu emacs w pythonie

Obecnie jestem mocno pochylony w kierunku python-mode.el, głównie dlatego, że ma użyteczną „indent-region” metodę ...

Istnieje jednak kilka cech C-mode, który wydaje mi się brak obu trybów, które przechodzą do następnej/poprzedniej funkcji (c-początek-z-defun) (różni się od py-goto-block-up w tym 1) nie ma py-goto-block-down, i 2) możesz użyć cb ...., aby przewinąć w górę wiele funkcji, ale poziomy tylko wygasną)

Ponadto, ponieważ C ma nawiasy klamrowe itp., Łatwo jest znaleźć początek/koniec aktualna sekcja. PY-goto-blok-up daje mi początek bloku, ale nie ma odpowiednika na końcu bloku ...

dzięki

+0

Możesz wciskać bloki Pythona sztywno w python.el pod Emacs 23.2, zaznaczając po prostu tekst bloku, a następnie wpisując Cc <(python-shift-left) lub Cc> (python-shift-right), jeśli to właśnie przemawia do Ty o regionie wcięć pod python-mode.el – codeasone

+0

Jakie jest pytanie? –

+0

Pytanie brzmi "Czy jest lepszy tryb Pythona? Lub w jaki sposób mogę zrobić te rzeczy w istniejących trybów Pythona?" –

Odpowiedz

4

Istnieją C-M-a i C-M-e w python-mode. Idą odpowiednio do początku i końca bieżącej def lub klasy. Są one domyślnie mapowane na beginning-of-defun i end-of-defun.

Istnieje również C-c C-u, który jest mapowany na python-beginning-of-block. Mój tryb python nie jest domyślnie mapowany na python-end-of-block, ale jest również dostępny.

+0

tak, ale działają one tylko dla najwyższych poziomów, takich jak def i klasa ... nie możesz ich użyć do znalezienia końca forloop ... –

+0

Ah, z jakiegoś powodu myślałem, że już masz 'python- [ początek | koniec] -of-bloku'. Edytowane. – nmichaels

0

znajdę pdbtrack (część python-mode.el) nieoceniony

0

prąd python-mode.el przychodzi z dużo bardziej drobnoziarnista poleceń wzgl. zablokować, oświadczenie, wyrażenie, częściowe wyrażenie, klasę, def, linia

z atrybutów beg/end/kopiowanie/usuwanie/wykonać

dostać w

https://launchpad.net/python-mode

0

Don zapomnij o dwóch plikach python.el. Jeden jest "stary" w Emacs teraz, a the other jest przez fgallina i będzie w Emacs 24.2, kiedy zostanie wydany. Nie mam kwalifikacji, aby powiedzieć, czy nowy jest lepszy niż python-mode.el.

Powiązane problemy