2010-07-27 10 views
5

w gedit można zdefiniować tak zwane "snippets" dla łatwiejszego wprowadzania danych. Na przykład istnieje krótki opis while. Oznacza to: Jeśli wpiszesz while -> (-> oznacza klawisz tabulatora). I gedit automatycznie konwertuje je do następujących (w tym prawidłowego wcięcia):Emacs: wprowadź polecenia, takie jak w gedit

while (condition){ 

} 

w vim (w połączeniu z lateksu-suite) Widziałem, co następuje: Po wpisaniu ( Vim inserty tylko ( przypadku. Podczas wpisywania ( po raz drugi, vim automatycznie konwertuje go do \left( \right).

znalazłem abbrev-mode ale ten tryb nie umieścić kursor prawidłowo (tj nawiasie lub wewnątrz pętli while).

Udało mi się stworzyć własne skróty klawiaturowe/makra emacsa, które robią to samo (bez konieczności naciskania klawisza tab), więc wiem, że to możliwe.

Jednak czy istnieje już i pakiet, w którym można zdefiniować takie "snippets" bez większego wysiłku? Czy istnieją nawet poważne powody, aby nie używać takich rzeczy?

Odpowiedz

8

Zobacz yasnippet. Dostarcza fragmentów dla większości głównych języków i łatwo jest dodawać nowe lub modyfikować stare.

+0

Dziękuję. Popatrzę na to. – phimuemue

3

Tak, yasnippet to prawdopodobnie droga. Ale upewnij się, że uczysz się głównego trybu, którego używasz do edycji - pisząc w LaTeX, naucz się auctex. Główne tryby mogą zawierać funkcje, które sprawiają, że niektóre fragmenty są bezcelowe i robią to samo jeszcze lepiej. Zamiast więc używać początkowego/końcowego fragmentu w buforze LaTeX, spróbuj C-c C-e w auctex. Itp :)

+0

+1 za wspomnienie o tym, jak wiele funkcjonalności mają główne tryby, które sprawiają, że niektóre fragmenty pracują bardziej, niż tylko poznanie odpowiednich akordów/kombinacji klawiszy. – semperos

1

Nie zapomnij o trybie abbrev.