Spróbuj spojrzeć na to pytanie na SO: Czy są jakieś kombinacje klawiszy emacsa zarezerwowane dla poleceń niestandardowych?
Jeśli chodzi o sprawdzenie, co jest dostępne, jest unbound
biblioteka (patrz pierwsza odpowiedź na powyższe pytanie).
Jedna konwencja (zaczerpnięta z mojej odpowiedzi na to pytanie ) to:
Możesz przedefiniować wszystko, ale konwencja polega na użyciu C-c l (gdzie ljest dowolna litera).
Jako użytkownik możesz przedefiniować dowolny klucz; ale zwykle najlepiej trzymać się sekwencji kluczowych, C-c
po których następuje litera (duża lub mała litera). Te klucze są „zastrzeżone dla użytkowników”, więc nie będą kolidować z żadnym poprawnie zaprojektowanym rozszerzeniem Emacsa. Klawisze funkcyjne F5poprzez F9są również zarezerwowana dla użytkowników. Jeśli przedefiniujesz jakiś inny klucz, twoja definicja może zostać zastąpiona przez niektóre rozszerzenia lub główne tryby, które na nowo definiują ten sam klucz.
Pamiętaj tylko, że powiązania klawiszy są różne w każdym z różnych trybów (głównych i mniejszych), więc to, co jest dostępne w jednym buforze, niekoniecznie jest dostępne w innym. I włączaj powiązania klawiszy na możliwie najbardziej zlokalizowanym poziomie. Na przykład, jeżeli funkcja ma coś do linii kodu, nie rób klucz globalny wiążącą dla niej zdefiniować go w odpowiednim keymaps ( c++-mode-map
, ruby-mode-map
etc.).
Jeśli chodzi o twoje konkretne zadania, zauważyłeś:
- M-% znany jako
query-replace
- C-M-% znany jako
query-replace-regexp
Ponadto, gdy szukasz ( C-slub C-M-s(i odwrotne warianty)), możesz wpisać M-%(lub C-M-%), aby bezpośrednio wpisać query-replace
( query-replace-regexp
) z ciągiem wyszukiwania jako substytut ... Całkiem przydatny.