Klawisze podobne do Emacsa w całym systemie?

27

Czy istnieje sposób ustawienia skrótów klawiaturowych podobnych do Emacsa (przynajmniej wspomnianego poniżej zestawu) dla całego systemu operacyjnego? Jest to możliwe w niektórych aplikacjach, takich jak terminal, Emacs (idź rysunek :), a dodatkowo za pomocą specjalnych wtyczek w niektórych innych aplikacjach (Eclipse), ale tak przyzwyczaiłem się do przeglądania tekstu i nigdy nie skakałem do strzałek, które ja chciałbym móc robić to w całym systemie, aby móc to robić za każdym razem, gdy piszę - np. szukając utworów w Rhythmbox, wpisując różne rzeczy na desce rozdzielczej lub interfejsie użytkownika, pisząc maile w Thunderbirdie lub Gmailu ... combo, które najbardziej mnie interesują to:

  • Cf - naprzód
  • Cb - do tyłu
  • Ca - dom
  • Ce - end
  • Cd - usuń
  • Ck - usuń linię

(uwaga dla użytkowników innych niż emacs - C oznacza Ctrl)

metakermit
źródło

Odpowiedzi:

15

Na podstawie: /superuser//a/516847/205010

  1. Zainstaluj narzędzie gnome-tweak-tool: sudo apt-get install gnome-tweak-tool

  2. Otwórz to: gnome-tweak-tool

  3. Idź do Keyboard and Mousei zmień Key ThemenaEmacs

Eyal Levin
źródło
1
to jest całkiem fajne, ale wiele rzeczy nie działa, czyli CB, Ck itp roztwór prawdopodobnie ciągnie wszystko do Emacs przeglądarka IE, e-mail itd zamiast próbować naciskać klawiszy na zewnątrz poza emacs
BPH
Gdzie to nie działa? W moim przypadku przez większość czasu działa całkiem dobrze.
Eyal Levin
Wydaje się, że jeśli aplikacja implementuje równoważny skrót, ma to pierwszeństwo. Co jest niezręczne
bph
Nie sądzę, że tak się dzieje w przypadku wszystkich aplikacji. Kilka razy zetknąłem się w Chrome, że globalne skróty Emacsa mają pierwszeństwo przed konkretnymi skrótami do aplikacji internetowych.
Eyal Levin
mój przypadek testowy używał poczty Yahoo i Gmaila w przeglądarce Firefox. w obu przypadkach Ca Ce Cf Cp Cn działał zgodnie z oczekiwaniami, ale Cb przełączył pogrubioną czcionkę, a Ck wywołało okno dialogowe łącza. Więc dla mojej konkretnej aplikacji jest to trochę hit i miss - będę musiał spróbować Chrome i zobaczyć, czy jest inaczej
bph
14

Udało mi się rozwiązać problem za pomocą AutoKey , zgodnie z zaleceniami w tej odpowiedzi . Niektóre z moich wyrażeń to:

content                     |   hotkey             |   description
---------------------------------------------------------------
<ctrl>+f                    |   <ctrl>+<alt>+f     | replace the find operation
<home>                      |   <ctrl>+a           | begining of line
<end>                       |   <ctrl>+e           | end of line
<left>                      |   <ctrl>+b           | back one letter
<right>                     |   <ctrl>+f           | forward one letter
<delete>                    |   <ctrl>+d           | delete one letter
<home><shift>+<end><delete> |   <ctrl>+k           | kill line

(tak, kombinacja linii zabijania była paskudna do znalezienia :)

Możesz nadal wymieniać rzeczy, ale nie chcę, aby remap mentalny urósł do dużego (np. Ctrl + n nie otwiera nowego okna, ale przechodzi do następnej linii). W sumie AutoKey to fajna aplikacja!

W każdym razie teraz mam ergonomię emacsa, że ​​nigdy nie muszę zostawiać „literowych klawiszy” w Ubuntu - w każdym polu tekstowym, które edytuję. Yeii!

Aktualizacja: kiedy zagłębiłem się w grę z AutoKey, aby wszystko dostroić, wprowadziłem sporo zmian. Możesz zobaczyć moją pełną konfigurację AutoKey Ubuntu-Emacs (i zainstalować ją) w moim repozytorium git repfiles .

metakermit
źródło
Próbowałem więc przesłać jedno słowo <alt> + f, ale kolidowało to z otwieraniem pliku w emacsie. Czy napotkałeś ten problem? jak to rozwiązałeś?
Sambatyon,
4

Istnieje inne rozwiązanie nieobejmujące aplikacji innych firm zamieszczonych tutaj emacs keybindings in ubuntu 12.04

dolzenko
źródło
Użycie tej metody nie będzie działać w aplikacjach takich jak Thunderbird, w których Ctrl + F będzie interpretowany jako „Znajdź ciąg” zamiast „Przesuń kursor do przodu”.
holocronweaver
@holocronweaver to prawda, zrezygnowałem z tego, że klucze Emacsa działają niestety w Thunderbirdzie, ale większość innych danych wejściowych (zwłaszcza w Chrome) prawie działa. Nie mogę się oprzeć wrażeniu, że rozwiązanie AutoKey to droga do niekończących się błahostek i frustracji :) To powiedziawszy, czy wypróbowałeś rozwiązanie zaproponowane przez kermit666, a jeśli tak, to czy zadziałało?
dolzenko
Po drobnej edycji, aby dostosować go do moich upodobań, rozwiązanie AutoKey działa całkiem dobrze w Firefox i Thunderbird na Ubuntu 14.04. Jeszcze więcej testów do zrobienia.
holocronweaver