Kiedy używam trybu org do robienia notatek na temat książki, czasami kopiuję / wklejam fragmenty kodu do pliku notatki. Po wklejeniu to zrobię
1. `C-c '` to call `org-edit-special`
2. `C-x h` to mark all the source code
3. `TAB` to format it
Czy jest dla mnie rozwiązanie w trybie org, które po wklejeniu kodu #+BEGIN_SRC...#+END_SRC
automatycznie sformatuje blok kodu lub mogę użyć tylko jednego klucza, na przykład TAB
do sformatowania (wcięcia) całego bloku kodu źródłowego?
Domyślnie TAB
(wpisany w bloku, nieużywany C-c '
) po prostu wyrównuje wszystkie linie 2 kolumny po #+BEGIN_SRC
nagłówku, jeśli na początku drugiego wiersza są spacje, po prostu doda więcej spacji, nie będzie wciskał wszystkich linii jak 3 kroki.
źródło
run-at-time
, w jaki sposób mogę powiązaćTAB
klucz, aby zrobić to, aby zastąpić domyślnyTAB
kiedyorg-in-src-block-p
. DomyślnieTAB
jest to związane,yas-expand
ale będzie działać tak, jak powiedziałem w moim poście.Zacznij od https://github.com/Bruce-Connor/aggressive-indent-mode, aby uzyskać opisane działanie wklejania.
Wiesz, jak zrobić resztę.
źródło
Oto kod, który napisałem, aby rozwiązać ten problem:
źródło