Bolí mě levý pinky. Mohu stisknout jinou klávesu jako Control?
On 13 února, 2021 by admin Moje levé pinky bolí kvůli opakovanému stisknutí tlačítka C
při použití organizačního režimu Emacs. Nepracovat s Emacsem nepřichází v úvahu, ale potřebuje trochu odpočinku.
Chtěl bych na chvíli změnit klíč C
za něco jiného. Mohu místo toho použít například tlačítko „,“?
Komentáře
- V mém případě bolest zmizela po výměně rozložení klávesnice použít klávesu Caps Lock jako ovládací klávesu. Měli byste být schopni najít způsob, jak to vyměnit zde: emacswiki.org/emacs/MovingTheCtrlKey
- @ DoMiNeLa10: zní to jako dobrý myšlenka, přinejmenším to změní bod tlaku, když používám malíček.
- Používám klávesnici Kinesis Advantage, která mi umožňuje palci stisknout ovládací a alt klávesy a to hodně pomáhá. Nevýhodou je, že jsou poměrně drahé.
- Problém tohoto typu otázek spočívá v tom, že vyzývá k diskusi o přemapování klíčů na úrovni systému v. V Emacsu, různých klávesnicích a okvětních lístcích nohou, ergonomii / držení těla uživatele, když sedíte u počítače, různé počítačové programy pro různé operační systémy, které přemapují klávesové zkratky atd. Obecně platí, že tyto typy otázek přicházejí na Reddit se značkou Emacs přibližně jednou týdně a existuje asi milion lidí, kteří všichni zazvonit svými osobními názory. Hlasuji pro uzavření této otázky, protože je příliš široká a hledá názor versus řešení.
- Upřesněte, zda je vaší otázkou “ co dělat Emacs pinky “ nebo “ jak zajistím, aby se některý další klíč choval jako modifikátor Control „.
Odpověď
Emacs pinky je běžný problém, existuje několik způsobů řešení:
- vyměňte Ovládací klávesu za jinou (obvykle Caps Lock).
- Chcete-li stisknout Ovládací klávesu, použijte místo dlaně dlaň.
- Použijte ergonomickou klávesnici .
Můžete zkontrolovat emacs wiki a zjistit, jak to dělají ostatní uživatelé. https://www.emacswiki.org/emacs/RepeatedStrainInjury
Komentáře
- Hlasování pouze pro návrh (2) (i když jsem se ‚ pokusil vyměnit ovládání, použití strany ruky je přirozenější a funguje s jakoukoli klávesnicí. Další diskuse najdete na ergoemacs.org/emacs/emacs_pinky.html
odpověď
Můžete definovat klíč, který použije modifikátor na další klíč v Emacsu.
(define-key function-key-map "," "event-apply-control-modifier) (global-unset-key ",") (defun insert-comma (count) (interactive "*p") (insert-char ?, count)) (global-set-key [(control ?,)] "insert-comma) (global-unset-key "\e,") (global-set-key [(control meta ?,)] "tags-loop-continue)
Pak stisknutí , a poté a je ekvivalentní stisknutí Ctrl + a . Stiskněte , dvakrát pro vložení čárky.
Existují omezení. Vazby Ctrl + Shift fungují, pokud stisknete , a poté Shift + klíč , ale u metadat nemůžete stisknout Esc a poté , pak klíč . Pokud režim definuje vlastní vazbu pro , nebo Ctr l + , nebo Meta + , , pak přepíše vazby čárky jako modifikátoru. Vkládání čárky již není samo-vložení, což má několik důsledků (stejně jako vytvoření elektrického znaku), jako je rozbití posloupností zpět, nemusí nutně dělat to, co byste očekávali od vlastního vložení do výběru atd.
Nemyslím si, že existuje způsob, jak to použít pro konkrétní režim. Můžete ho použít na konkrétní terminál (ale ne na konkrétní okno v grafickém uživatelském rozhraní) pomocí local-function-key-map
ale nevím, jestli by vám to pomohlo.
Viz také stránku Emacs wiki na lepivých modifikátorech . To nedělá přesně to, co požadujete, ale jedna z funkcí na této stránce může být pro vás přijatelným řešením.
Odpovědět
Po téměř 10 letech používání emacsu si myslím, že nejlepším způsobem, jak se vyhnout emacs pinky, je pamatovat si:
Vázat klíče tak, aby nikdy jednou rukou nestlačíte dvě nebo více kláves jednou rukou!
Tím se zcela eliminují všechny problémy s rukou, které jsem dříve měl.
Například Cx by mělo být vždy stisknuto takto: C (pravá ruka) – x (levá ruka)
Použití mezery nebo caplock k nahrazení kontroly způsobí zpoždění, ale ne zcela zabrání problémům s rukou. Jediným způsobem, jak jim zabránit, je nikdy nestlačit dvě klávesy současně jednou rukou.
Komentáře
- Dále zvažte (vážně) použití rychlé modifikační klávesy, takže nemusíte ‚ držet modifikační klávesu stisknutou a stisknout jinou klávesu.Myslel jsem, že to budu nenávidět a že mi bude trvat věky , než si zvyknu, ale byl jsem skutečně ohromen tím, jak rychle jsem se tomu přizpůsobil. Přál bych si, abych to ‚ udělal před mnoha lety.
Odpovědět
Právě jsem si uvědomil, že jsem pomocí prstu stiskl klávesu Ctrl a to fungovalo po všechny ty roky zkušeností s emacs. Doufejme, že to pro vás může znamenat nový začátek.
Odpověď
Použijte klávesu CTRL! Můj profesor mi to ukázal na univerzitě a od té doby používám toto mapování kbd na jakémkoli systému, který používám.
- MacOS – zabudované mapování kbd
- Linux – setxkbmap, nebo v systémech Ubuntu upravte / etc / default / keyboard a přidejte „ctrl: nocaps“ do možností klávesnice. (XKBOPTIONS = „ctrl: nocaps“) nebo (XKBOPTIONS = „ctrl: swapcaps“) pro výměnu čepic a ctrl. První vám dá ctrl jako ctrl a čepice jako ctrl. To je lepší než vyladit nástroj, protože „dostanete také čepice jako ctrl v tty“.
- Windows – Sharpkeys
Vynikající odkaz: EmacsWiki: Přesunutí klávesy CTRL
Odpověď
Tento problém je ve skutečnosti vyřešen v rok 2012, kdy EVIL dospěl.
Jednoduché řešení,
Použijte Spacemacs + Evil. Vazby kláves Vim zajistí, že při práci s textem zadáte méně kláves. Jako klávesu vůdce použijte mezeru, takže nemusíte příliš často pohybovat prstem ze své výchozí polohy.
Jinými slovy, pokud klávesu Ctrl / Alt / Shift / Win / Cmd / Esc nepoužíváte , vyřešíte problém z hlavní příčiny.
Pokročilé řešení,
Použijte prosím zlo. Poté změřte frekvenci stisknutí kláves pomocí balíčku keyfreq
.
Viz http://blog.binchen.org/posts/how-to-be-extremely-efficient-in-emacs.html pro technické podrobnosti.
Pokud chcete zahájit optimalizaci okamžitě bez použití keyfreq
, zde jsou moje jednoroční data, která můžete použít,
https://gist.github.com/redguardtoo/99e69fe3ecfccadeacdb6f1c40978b0c
Toto řešení funguje v jakémkoli prostředí . Rovněž vám okamžitě zrychlí produktivitu, takže můžete kódovat mnohem rychleji. Stručně řečeno, neexistuje ŽÁDNÝ vedlejší účinek.
BTW, na začátku potřebujete optimalizovat pouze 20 nejlepších příkazů.
6008 13.33% evilmi-jump-items %, <visual-state> %, <normal-state> % 4292 9.53% winum-select-window-2 , 2, M-2 3806 8.45% winum-select-window-1 , 1, M-1 2522 5.60% switch-to-shell-or-ansi-term , x z, C-x C-z 2280 5.06% my-counsel-recentf , r r 1910 4.24% my-multi-purpose-grep , q q 1791 3.98% back-to-previous-buffer , b b 1561 3.46% winum-select-window-3 , 3, M-3 1379 3.06% counsel-etags-find-tag-at-point C-] 1222 2.71% eval-expression , e e, M-:, M-ESC : 1153 2.56% evil-visualstar/begin-search-forward <visual-state> * 971 2.16% my-evil-goto-definition g t 793 1.76% copy-to-x-clipboard , a a 654 1.45% pop-tag-mark C-t 633 1.40% counsel-imenu , i i 616 1.37% paste-from-x-clipboard , z z 539 1.20% winum-select-window-4 , 4, M-4 522 1.16% toggle-full-window , f f 420 0.93% evil-toggle-input-method C-\ 371 0.82% git-add-current-file , v a 322 0.71% evilnc-comment-or-uncomment-lines , c i, M-; 302 0.67% backward-delete-char-untabify 295 0.65% my-split-window-vertically , x 2, C-x 2 285 0.63% find-file-in-project-by-selected , k k 279 0.62% delete-other-windows , x 1, , s 1, C-w C-o, C-w o, C-x 1, <menu-bar> <file> <one-window> 278 0.62% langtool-goto-next-error , l l 273 0.61% find-function , h f, C-h C-f, <f1> C-f, <help> C-f 270 0.60% kill-buffer , x k, C-x k 261 0.58% my-split-window-horizontally , x 3, C-x 3 251 0.56% narrow-or-widen-dwim , w w 235 0.52% counsel-find-file , x f 224 0.50% winner-undo , u u, C-c <left>, C-x 4 u 203 0.45% beginning-of-defun , b f, <C-M-home>, C-M-a, ESC <C-home> 202 0.45% c-electric-backspace 201 0.45% evil-a-paren 190 0.42% counsel-describe-variable C-h v, <f1> v, <help> v 187 0.42% org-shifttab 187 0.42% wg-create-workgroup SPC s s 186 0.41% evil-surround-region <visual-state> S 155 0.34% ffip-diff-find-file 154 0.34% flyspell-goto-next-error , f e 153 0.34% counsel-etags-find-tag , f t 152 0.34% ivy-switch-buffer-by-pinyin , x b
Odpověď
Levý alt
(tj. klíč meta
v Emacs config) lze klávesu snadno stisknout levým palcem a můžete všechny své běžné funkce (např. pohyby kurzoru) znovu svázat na klávesové zkratky založené na meta klávesách místo původních klávesových zkratek založených na klávesách ctrl. Dělám to ve svém init.el souboru.
Napsat komentář