Pisanie szybko, gdy trudno jest uzyskać dostęp do klawiszy Control, Alt i Esc


12

Jestem bardzo nowy w Emacsie i próbuję wbudowanego samouczka. Po tym, jak przeszedł podstaw, uważam, że to bardzo trudne do osiągnięcia Ctrli Altczy Escklucze. Próbuję pisać szybciej, ale ponieważ wszystkie polecenia wymagają tych klawiszy, w ogóle nie mogę być szybki. Szukałem, ale wygląda na to, że nikt nie narzeka na te klucze.

Wiem już, że możesz zamienić klawisze Ctrli Caps Lock, ale wolę tego nie robić, ponieważ słyszałem, że nie jest to zalecane.

Jak mogę ułatwić pisanie poleceń?


7
Wiele lat temu zamapowałem Caps Lock na inny klawisz Ctrl i jestem z niego całkowicie zadowolony, nawet jeśli nie używam emacsa. O wiele lepiej jest mieć go bezpośrednio w rzędzie, że nie mam pojęcia, kto by go polecił.
Ineu

1
Jednym z argumentów przeciwko temu jest to, że prawdopodobnie ludzie, którzy to robią (jak ja!) Zawsze używają lewego pinky i kciuka do naciskania klawiszy modyfikujących. Bardziej zrównoważonym podejściem byłoby użycie zarówno prawego, jak i lewego klawisza Ctrl i Alt, tak aby jedna ręka uderzyła w modyfikator, a druga w klawisz docelowy. Ale mam lata pamięci mięśniowej z caps-lock jak ctrl i jestem z tego zadowolony.
glucas,

1
Nie trzeba używać klawiszy Ctrl i Alt do normalnego „pisania”. Wiązania klawiszy korzystające z tych modyfikatorów pomogą Ci poruszać się po tekście, zabijać (wycinać), szarpać (wklejać), otwierać pliki i wiele innych rzeczy. Z wyjątkiem godnego uwagi Vi, myślę, że przekonasz się, że wszystkie edytory tekstu będą wymagały użycia klawiszy modyfikujących dla tego typu funkcji, lub użycia myszy. Kiedy mówisz „szybko”, jaki jest twój punkt odniesienia? Szybki w porównaniu do czego? (Na marginesie: uwielbiam mapować Caps Lock na Ctrl i polecam każdemu.)
nispio

2
Oto link do tego samego / pokrewnego wątku zatytułowanego Jaki jest najlepszy sposób na uniknięcie „Emacsa Pinky”? : stackoverflow.com/questions/52492/… Wątek sięga sześciu (6) lat i ma ponad 12940 wyświetleń i 31 różnych odpowiedzi.
prawnik

1
Witamy w Stack Exchange. Przeredagowałem twoje pytanie, aby było pytaniem praktycznym, a nie pytaniem, ponieważ Stack Exchange nie zadaje pytań .
Gilles „SO- przestań być zły”

Odpowiedzi:


22

Trudno odpowiedzieć na to pytanie, ale kilka przemyśleń:

Spróbuj przez jakiś czas pracować z domyślnymi powiązaniami klawiszy, ponieważ Emacs na początku poczuje się dziwnie. Nie sugerowałbym wprowadzania poważnych zmian w konfiguracji, dopóki nie zrozumiesz, co działa, a co nie.

Po obu stronach argumentu caps-lock vs. ctrl znajdziesz użytkowników Emacsa. Osobiście od dawna używam Caps-Lock jako klawisza Ctrl i uważam, że jest to bardzo wygodne. Używam lewej ręki do wszystkich klawiszy modyfikujących: ogólnie mój różowy dla Caps Lock( C-) i Shift, i mój kciuk dla Alt( M-). Robię to od lat i jestem z tego zadowolony. Widzę sens bicia klawiszy modyfikujących jedną ręką, ale tego się nie nauczyłem.

Istnieją tryby, które nie zależą tak bardzo od klawiszy modyfikujących. Jeśli podoba Ci się styl edycji modalnej Vima, możesz wypróbować Zło lub tryb boga podobny do Emacsa . Ale nadal sugeruję spędzenie czasu z domyślnymi ustawieniami.

Gdy zapoznasz się z Emacsem i dowiesz się, które polecenia i tryby są najbardziej przydatne, możesz zacząć majstrować przy użyciu klawiszy. Klawisze funkcyjne mogą być używane jako prefiks, aby zaoszczędzić trochę użycia modyfikatorów, choć trzeba po nie sięgnąć. Istnieją pakiety takie jak klawisz-akord, które pozwalają powiązać powtarzające się klawisze (jak jj) lub klawisze (jak jk) z poleceniami. Są też takie rzeczy, jak smartrep, które pozwalają używać pojedynczych klawiszy, aby kontynuować wykonywanie poleceń po niektórych poleceniach początkowych, których można użyć, aby uniknąć konieczności przytrzymywania kombinacji klawiszy modyfikatora. Ale konfigurowanie tego rodzaju pakietów wymaga znajomości poleceń, które chcesz ponownie powiązać, co wymaga najpierw doświadczenia.


Tydzień temu zmieniłem kontrolę Caps Lock i mam pytanie do ludzi, którzy to robią: czy trafiasz Caps Lock tylko za pomocą pinky czy też palcem serdecznym? Przekonałem się, że zwykle, gdy piszę kod, uderzam go różowym, ale kiedy nie piszę aktywnie (na przykład podczas nawigacji kodu), używam palca serdecznego, ponieważ jest to o wiele wygodniejsze.
MonsieurBanana

Myślę, że zawsze używam mojej różowej - ale idź z tym, co działa!
glucas

Sposób, w jaki używam modyfikatorów, jest w zasadzie identyczny z twoim, z dodatkiem używania prawego kciuka do naciskania alt grklawisza, gdy muszę pisać akcentowane znaki z mojego układu. Nie muszę go tak często używać, ale warto wspomnieć, że to podejście dobrze skaluje się do układów opartych na tym kluczu.
DoMiNeLa10

10

Mam na święta klawiaturę Kinesis. Nie będę publikować linków, aby nie robić z tego reklamy. Zrobią to również klawiatury o podobnych właściwościach.

Wcześniej miałem klawiaturę Steelseries z dodatkowym Ctrlmapowaniem na Caps Lock. Ważne rzeczy, których musiałem się nauczyć (na mojej starej klawiaturze):

  • Prasa M-xz obu rąk. Mogę dosięgnąć odpowiedniego Ctrlklawisza na klawiaturze laptopa, ale nie na starym komputerze stacjonarnym. Jeżeli osiągnięcie to jest wykonalne, trzeba nauczyć się prasie C-x, C-r, C-s, C-a, C-ei C-citd z obu rąk zbyt.
  • Używaj właściwie, Shiftgdy tylko jest to możliwe.
  • Jeśli trzymasz się prostej klawiatury, musisz ćwiczyć pinky! Tak samo, jak pianiści grają pięcioma palcami.
  • Nie używaj Home, Pagup, Pagedowni Endjak strzałka Kyes.
  • Niektóre polecenia mogą mieć alternatywne przypisania klawiszy, które mogą być dłuższe, ale łatwiejsze do naciśnięcia (wymagają mniejszej liczby naciśnięć jednocześnie).
  • Jeśli zdecydujesz się wypróbować ergonomiczną klawiaturę, będziesz musiał wykonać mapowanie i zamiast ćwiczyć pinky, musisz ćwiczyć kciuki.

1
Głosuj za wskazówką „obiema rękami”, tej, której rzadko widujesz. Zbyt często robię to C-x C-ftylko z lewą ręką i to naprawdę zaczyna boleć moją lewą różowawą. Zamiast tego, umieszczenie prawego palca wskazującego na prawej kontroli, a następnie lewego palca wskazującego uderza x, f, jest znacznie lepsze.
robru

Mówiąc o fortepianie, możesz spróbować użyć kciuka do naciskania modyfikatorów (na przykład po przekroczeniu skali). Na przykład: kciuk w dół Ctrl, przewróć rękę i naciśnij xpalcem wskazującym. Zamiast mocno ścisnąć dłoń, jesteś zrelaksowany i używasz dużych mięśni ramion. Nie działa to dla wszystkich kombinacji, ale możesz spróbować, szczególnie w lewym dolnym rogu C-a C-c C-d C-s C-x„scrunch fest”.
Greg Hendershott

4

krok 1, zainstaluj tryb zła ( http://www.emacswiki.org/emacs/Evil ). Wykorzystuje powiązania klawiszy vim i zapewnia zaawansowane funkcje vim, takie jak obiekty tekstowe, więc wpisujesz znacznie mniej Ctrl, Alt

krok 2, użyj evil-leader ( https://github.com/cofi/evil-leader ), najpierw naciskasz klawisz lidera (odwzorowuję go na „,”), a następnie wpisujesz kombinację dowolnych klawiszy, aby wywołać polecenie. Wykorzystaj to w pełni, nigdy nie będziesz potrzebować Ctrl i Alt, na przykład używam „, mx”, aby zastąpić Mx

krok 3, zainstaluj evil-escape ( https://github.com/syl20bnr/evil-escape ), naciskasz „kj”, aby symulować „Cg” i „ESC”

To rozwiązanie działa w dowolnym terminalu BTW.

Świetnym przykładem są spacemacs https://github.com/syl20bnr/spacemacs (ale klucz SPACE jest tam używany jako klucz wiodący)


2

Korzystam z układu Dvorak i stwierdziłem, że działa on bardzo dobrze z domyślnymi powiązaniami klawiszy Emacsa. C-nznajduje się w wierszu głównym i C-pmożna go nacisnąć palcem wskazującym zamiast różowego. C-u(klawisz prefiksu) znajduje się również w wierszu głównym.

Zamieniłem Caps Lock i Ctrl na wszystkich klawiaturach, ponieważ łatwiej jest mi pisać pewne kombinacje klawiszy. Związałem się również M-xz klawiszem menu (po prawej stronie spacji), ponieważ łatwiej mi trafić niż w lewo Alti x.

Poza tym używam, god-modeaby dłuższe sesje edytorskie były nieco bardziej komfortowe. Nie uważam kluczy Emacsa za przeszkodę i używam głównie domyślnych.

Podobnie jak @glucas używam lewego pinky dla Ctrl i mojego lewego kciuka dla lewego klawisza Alt. Na prawdziwie ergonomicznej klawiaturze powiązałem lewy klawisz spacji z klawiszem Alt, co sprawia, że ​​jest to znacznie mniej niewygodne niż na zwykłej klawiaturze.

Jeśli martwisz się zbyt dużym obciążeniem lewej ręki poprzez zamianę Ctrl i Caps Lock, możesz nawet przypisać Ctrl do klawisza Return. Zobacz ten artykuł, aby uzyskać więcej informacji: http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/


1

TL; DR : upewnij się, że ważne klucze nie są trudne do osiągnięcia.

Drugą odpowiedź wvxvw na temat Kinesis jako profilaktyki przeciwko „Emacsowi Pinky'emu”. Używam mojego od 14 lat, więc jestem pewien, że inwestycja już się opłacała. W Kinesis zamapowałem dolny wiersz na modyfikatory ( s-H-C-M/ M-C-H-s) i mam Mode_switchna kciukach klawisze, aby uzyskać dostęp do „osadzonych klawiszy strzałek”. Ta konfiguracja pozostawia niewiele do życzenia.

Nadal są chwile, kiedy muszę lub wybieram pisanie na laptopie i mam coś podobnego skonfigurowanego, zmieniając przypisanie wiersza liczb na modyfikatory i umieszczając symbole liczbowe na klawiszach funkcyjnych (zobacz mój plik .xmodmap lub .xkb Detale). To znowu oznacza, że ​​na moich nadgarstkach jest niewielki skręt i nie ma żadnego nacisku na pinkies.

W ostatnich miesiącach zauważyłem pewien stres w palcach, których używam do Controli Mode_switchna laptopie. Zawsze dobrze jest spróbować zmniejszyć stres, gdy go zauważysz. Bawiłem się lepkimi klawiszami , ale stwierdziłem, że obecne wsparcie dla nich pozostawia wiele do życzenia. Szkoda, bo to naprawdę dobry pomysł.

Miałem jednak trochę szczęścia w trybie Boga , który jest jak udoskonalony lepki Controlklucz, ale tylko w Emacsie. Wplątując się w ten i tryb Zła , zauważyłem, że łatwo jest zdefiniować podobny lepki Metaklucz - lub można zdefiniować inne modyfikatory lub osadzone warstwy. evil-dvorak jest jedną z powiązanych optymalizacji, chociaż wybrana mapa klawiszy jest nieco osobista.

Podsumowując główne dostosowania związane z ergo, które pomogły mi „żyć w emacs” w dość wysokim stopniu:

~ 10 lat: Kinesis, dvorak, Xmodmap / Xkb, Ratpoison (ważne: ustawienie ucieczki RP na coś w zasięgu, C-tjest domyślne, ale można to łatwo poprawić)

~ 1 rok: pentadaktyl (z powiązaniami Emacsa ), tryb boga + tryb zła (bezbożny sojusz) i zmiana części dnia na stojące biurko. Również Helm do szybkiego wprowadzania poleceń.


0

Zauważysz, że jest to bardzo drażliwy temat wśród długoletnich użytkowników emacsa. Jak sugerują inne odpowiedzi tutaj, wypróbuj trochę wartości domyślnych, aby dowiedzieć się, jakie sekwencje klawiszy są dla Ciebie szczególnie trudne, dla języków, które wpisujesz na konkretnej klawiaturze. Następnie zaimplementuj jedno lub dwa remapy kluczowych kluczy, takie jak Ctrl, Meta i Escape. W zależności od laptopa i systemu operacyjnego może istnieć kilka sposobów mapowania. Na przykład w systemie Mac OS X panel preferencji klawiatury wraz z Karabinerem wystarczą, aby znaleźć wykonalne przemapowanie klawiszy. Wypróbuj jedno rozwiązanie na raz, aby sprawdzić, czy odpowiada Twoim potrzebom. Znalezienie tego, co odpowiada Twoim potrzebom, może chwilę potrwać. Długo użytkownicy sugerują unikanie przeciążania paluszków. Uważajcie.


0

Ten problem nie dotyczy Emacsa. Cierpią także użytkownicy innych programów, które można kontrolować za pomocą skrótów klawiszowych. Emacs ma to w większym stopniu, ponieważ ma więcej poleceń. Podstawowym powodem jest to, że nie ma wystarczającej liczby klawiszy dla wszystkich potrzebnych nam poleceń. Jeśli nie interesuje Cię teoria, przejdź do ostatniego akapitu.

Oczywistym rozwiązaniem jest dodanie dodatkowej klawiatury dla poleceń Emacsa. Będziesz miał w sumie 200 kluczy. Wtedy będziesz pisać jeszcze wolniej. W rzeczywistości 100 klawiszy na standardowej klawiaturze to zbyt wiele, aby pisać na klawiaturze. Szacuję, że człowiek może osiągnąć maksymalnie 22 klucze jedną ręką, nie poruszając nadgarstkiem.

Aby szybciej pisać, przesuwaj klawisze modyfikujące pod palcami. Wtedy nie ma wystarczającej liczby klawiszy na litery łacińskie. Na przykład „j” to klawisz modyfikujący, naciśnięcie „j”, a następnie naciśnięcie „d” powoduje powstanie litery „j”. Jeśli nie lubisz naciskać klawisza modyfikatora dla każdej litery, korzystasz z trybów i edytorów modalnych. Na przykład w trybie wstawiania „j” tworzy literę „j”; w trybie poleceń preformy „j” wycinają (zabijają); są klawisze do przełączania trybów. (Te przykłady nie są zaimplementowane w żadnym edytorze, są tylko przykładami.)

Vim to znany edytor modalny. Zostało wspomniane powyżej. Ponieważ Emacs jest programowalny, istnieje modalny tryb podrzędny o nazwie God Mode . Służy to potrzebie, choć można ją ulepszyć. W trybie boskim nie musisz uczyć się nowego przypisywania klawiszy dla każdego polecenia Emacsa, jednak musisz przełożyć każde przypisanie na sekwencję klawiszy w twojej głowie. Na przykład „gw” tworzy polecenie powiązane z „M-w”.


0

Krótko mówiąc, naciśnij je wszystkie łatwo kciukami. Możesz to zrobić bez Kinezy.

Teraz szczegóły. Kup np. Japońską klawiaturę:

Japońska klawiatura
(źródło: owltech.co.jp )

i używać w dolnym rzędzie zarówno przykład jak AltShiftCtrlShiftAlti EscBSSpaceRetTab, środkowy będąc fizyczny spacji. Oznacza to, że jeśli naciśniesz sam spację, będzie to zwykła spacja, ale gdy naciśniesz z innymi, będzie to Ctrl. To samo dotyczy Alt / Esc, Shift / BS itp.

Aby dowiedzieć się, jak to osiągnąć, zobacz Jaki jest najlepszy sposób na uniknięcie „Emacsa Pinky”? w stackoverflow.com. (To pytanie jest już poruszone przez Gillesa )

Japońskie klawiatury można kupić na stronie np. Ebay.com lub amazon.com. Witryna amazon.co.jp jest również dostępna w języku angielskim.


0

Lewy alt(tj. metaW emacs) klawisz można łatwo nacisnąć lewym kciukiem i można ponownie powiązać wszystkie typowe funkcje (np. Ruchy kursora) ze skrótami opartymi na meta-klawiszach zamiast na oryginalnych skrótach opartych na klawiszach Ctrl. Robię to w moim pliku init.el.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.