41

テキスト エディタとして GNU Emacs を使い始めたばかりですが、Emacs を使用する際に必要となるように、常に小指でコントロール キーを押さなければならないため、「 Emacs Pinky 」に悩まされることが心配です。この種の反復運動過多損傷を避けるにはどうすればよいですか?

4

33 に答える 33

54

別のコントロール キーを作成caps lockすることから始めるのがよいでしょう。人間工学に基づいたキーボードに投資してください。一部のemacsユーザーは、コントロールとメタデータのためにフットペダルを使用することさえします...

于 2008-09-09T18:12:08.347 に答える
30

スペース バーがスペースとコントロールの両方として機能するように構成します。space単独で押すとスペースとして、他のものと一緒に押すと としてctrl. したがって、Space+は+xとして扱われます。Ctrlx

Windows では AutoHotKey で、Linux では Xorg では" at-home-modifier " でそれを行うことができます。(X、ただし Linux のみ。) Mac ではKarabiner (以前は keyremap4macbook として知られていました) を使用できます。(実は、私at-home-modifier の作者です。=)

日本語キーボードのように、スペースの周りに多くのキーがあるキーボードがあれば、もっと多くのことができます:日本語キーボード http://www.owltech.co.jp/products/keyboard/KB86STD/KB86STD_B-320.jpg

私の一番下の行は基本的EscBSSpaceEnterTabに ですが、修飾子として使用する場合はAltShiftCtrlShiftAltです。(たとえば、Esc最初に押してからスペースを押した場合はAlt+ですが、Spaceスペースを押した後にを押した場合は+です。 、、およびを押した場合は+ +です。)すべて親指で押すことができます。たとえば、amazon.com から日本語キーボードを注文できます。日本語を話す必要はありません。EscCtrlEscSpaceEscxctrlaltx

これは非常に便利です。たとえば、firefox (申し訳ありませんが、emacs ではありません) の場合、リンクにフォーカスして Ctrl + Enter を押します。その後、新しいタブで開きます。(Shift キーも押すと、現在のタブにとどまるのではなく、新しいタブに切り替わります。)

(上の画像はat-home-modifierの作者が使用しているものです。メーカーはもう販売していませんが)

于 2012-01-20T02:09:20.090 に答える
15

フットペダルを手に入れよう!(キネシスがあります。)実行したら、コントロールとCapslockのマップを解除して、足を使用するように強制します。

(参考までに、capslockの再マッピングは役立ちますが、1日で十分に拡張した後は、完全な解決策にはなりません。)

于 2008-09-15T22:56:48.440 に答える
14

神の愛のために - 別のテキスト エディタを使用してください! 普通にペダルを踏む必要があるとしたら……正直、言葉が出ません。大量の難解なキーストロークを覚えたり、派手なハードウェアを購入したりする必要のない、強力な最新のテキスト エディターが多数あります。

ご存知のように、私は多くのことを理解して受け入れることができますが、単純なテキスト エディターのフット ペダルは、実際には一線を画す場所です。

于 2009-01-10T15:44:21.367 に答える
11

プログラマー、ライター、オタクなどの大規模なコミュニティが、この問題に対する非常にシンプルで効果的な解決策をまだ見つけていない理由について、私は常に興味を持っていました。簡単に: 1) 小さな紙を用意し、紙のボールを作ります。2) スコッチを使用して左の ctrl キーに貼り付けます (一時的にその場所から削除します)。3) 文字を書くときは、左手の手のひらでそのキーを押します。これで、このキーは他のキーよりも高くなり、書きやすくなりました。そうすれば、uber ergo-keyboards を購入したり、ctrl キーを capslock に再マップしたりする必要がなくなります (最終的には小指で押すことになります)...

このような小さな問題について、非常に多くの議論が行われました。

于 2010-06-03T19:51:54.043 に答える
10

再マップLeft-CtrlCaps-Lockて、本来あるべき場所に配置します。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,00,00,00,00

 

于 2008-09-09T18:40:54.003 に答える
7

一般的なアクションには、優れたキーコード モードを使用します。呼び出す関数またはキー シーケンスを指定できます。

通常のタイピングをあまり妨げないようにするために、文字統計を生成して適切なキーコードを見つけました。デフォルトのコードと一緒に録音しました。

より便利なコマンド呼び出しに加えて、次のようなものを挿入するためのコードがあります

Best wishes,
Arne

それなしでメールを書くのは嫌いです☺</p>

また、flyspell など、常に制御が必要な場合は、制御ロック モードを使用します。これは、実際の emacs ショートカットを使用したモーダル編集です。

私がよく使うコードは

; buffer actions
(key-chord-define-global "vg"     'eval-region)
(key-chord-define-global "vb"     'eval-buffer)
(key-chord-define-global "cy"     'yank-pop)
(key-chord-define-global "cg"     "\C-c\C-c")
(key-chord-define-global "äü"     'control-lock-toggle)

; frame actions
(key-chord-define-global "xo"     'other-window);
(key-chord-define-global "x1"     'delete-other-windows)
(key-chord-define-global "x0"     'delete-window)
(defun kill-this-buffer-if-not-modified ()
  (interactive)
  ; taken from menu-bar.el
  (if (menu-bar-non-minibuffer-window-p)
      (kill-buffer-if-not-modified (current-buffer))
    (abort-recursive-edit)))
(key-chord-define-global "xk"     'kill-this-buffer-if-not-modified)

; file actions
(key-chord-define-global "bf"     'ido-switch-buffer)
(key-chord-define-global "cf"     'ido-find-file)
(key-chord-define-global "zs"     "\C-x\C-s")
(key-chord-define-global "vc"     'vc-next-action)
于 2012-09-09T21:04:30.197 に答える
7

Caps-Lock ソリューションのリマップに完全に同意します。これはかなり役立ちます。さらに先に進むために、私はErgoemacs キーバインディングを試してみて気に入りました。このプロジェクトは活発に開発されており、非常によくサポートされています。Mac OS X と統合されていないため (一部の EMACS キーは Cocoa に統合されています)、個人的には使用していませんが、誰かが Ergoemacs キーバインディングを含む inputrc ファイルを投稿しているようです。私が試したもう 1 つのトリックは、StickyKeys を有効にすることです。これは多くのプラットフォームでサポートされており、(使いすぎではなく) コーディングに特有の問題のいくつかを軽減します: emacswiki で推奨されているようです: http://www.emacswiki.org/emacs/StickyModifiers

于 2010-06-04T18:19:01.500 に答える
6

最初に指摘しておきたいのは、デフォルトのキーバインディングは万人向けではないかもしれないという理由で Emacs を使用しないように提案することには意味がないということです。Emacs は、これまでに作成された中で最も構成可能な「テキスト エディター」です。そのため、もちろん、キーマッピングなどの些細なことは完全に構成可能です。

「Emacs pinky」の問題に関して、ユーザー「Paul Nathan」のように、何人かの人々が.emacsに「anti-Emacs-pinky」キーバインディングを持っていることに気付きました (ここに入力すると 17.5k 担当者):

emacsの良いカスタムキーバインディングは何ですか?

それから、多くの人がviの方法とユーザー Emacs の viper-mode を好むという事実で知られています。

Emacs の主な問題は、デフォルトで CTRL に過度に依存していること、より具体的には Cx と Cf / Cb に依存していることだと思います。これらの 3 つは、IMHO、痛みを伴う指の歪みを意味するため、本当にひどいものです。

私にとっては、まず問題を定義する必要があります。問題は何ですか? 問題は、デフォルトで CTRL に過度に依存していることです。CTRL が通常、ほとんどのキーボードで不適切に配置されているという事実と、そこにあるほとんどのキーボード (これまでに製造されたすべてのキーボードの 99.9% 以上を推測します) は、ジャンク。

それで、これに対する私の解決策は何ですか?

  • 私は良いメカニカル キーボードを使用し、タッチ タイプを行います。これに真剣に取り組んでいる人は、おそらく非常に優れたスプリット & マトリックス キーボード (Kinesis Advantage など) を求めて $$$ を支払うでしょう... スプリットマトリックスは、人間工学の観点から理にかなっている唯一の種類のキーボードだからです (この議論の余地すらありません)。悲しいことに、私は 30 年間タイピングをしてきましたが、マトリックス レイアウトに適応できません。そのため、古い (欠陥のある) スタガード キーボードを使用しています。スタッガード キーボードを使用する場合は、少なくとも良いスイッチを備えたものを使用してください (たとえば、IBM モデル M や Cherry MX スイッチのようなバックル スプリング、または Happy Hacking Keyboard Pro のようなトプレス)。Cherry MX-5000 (*) や IBM M15 のように、分割 + 「機械的」スタッガードを見つけたい場合は、500 ドル以上を支払う準備をしてください。

要するに、これについて本当に真剣に考えているなら、Kinesis Advantage を選んでください (彼らは Cherry MX スイッチを使用しており、私が間違っていなければ、特定のスイッチを選択することもできます)。

私のように、これらの素晴らしいキーボードが「違いすぎる」という理由で残念ながら適応できない場合は、優れた「機械式」キーボードを使用してください。タイピング中に「底を打たない」ことを許可するキーボードは、指の関節を節約します。何十年ものプログラミングの後に役立ちます。

「機械的な」ルートに行きたくなく、ラバードームが優れたキーボードであると考える場合(私はそれらをジャンクと考えていますが、それぞれが好みです)、少なくとも良いラバードームを選択してください. MS の Ergo 4K は良い選択でしょう (繰り返しになりますが、これはゴム製のドームなので、私にとっては指を破壊するジャンクですが、それは好みの問題です)。

  • 良いキーボードを使用するようになったら、CAPS-LOCK を CTRL に再マップしてください。どのOSでもできます。それは些細なことであり、主題に関するリンクがたくさんあります。

  • Emacs のキーをリマップして、CTRL に過度に依存するのをやめます。最初の CTRL-x がひどい。それは本当に史上最悪のショートカットでなければなりません。ただし、 ctl-x-map を必要なものに再マップできます。私はリマッピングマイナーモードでこれを行います:

    (define-key my-keys-minor-mode-map (kbd "C-,") ctl-x-map)

C-、あなたには合わないかもしれません: 他のものを選んでください...

次に、カーソルの移動の問題があります。「テキストエディタ」としては大きいと思います。「カーソルを移動する」のではなく、すべての細かい Emacs 関数を使用してテキスト バッファー内をすばやく移動する傾向がある場合でも、カーソルを「手動で」頻繁に移動する必要があります。

Cf / Cb は、カーソルを移動するための 2 つの最もばかげたショートカットでなければなりません。

M-{i,j,k,l} を使用します。そのため、人々は {ijkl} ではなく {hjkl} を好みますが、私は逆 T 矢印を再現する {ijkl} が好きです。また、タッチタイピストとして、ホームの列にいるとき、すでに 3 本の指が {jkl} にあるという事実も気に入っています。「f」または「b」に到達するための狂った指の動きはありません。意味がありません。

最後になりましたが、入力していないときは、キーボードに指を置いてください。もちろん、これには、キーボードにキーを置いているだけでアクティブにならない十分な抵抗を持つ、優れたスイッチを備えたキーボードが必要です。

于 2012-03-30T13:34:28.990 に答える
4

ここでまだ言及されていない1つの解決策は、キーの組み合わせに両手を使用することです。

たとえば、<CTRL-K>を押したいとします。QWERTYキーボードでは、<K>が右側にあるため、左手で<CTRL>を押し、右手で<K>を押します。システムに慣れれば、正常に動作します。

于 2009-08-29T16:59:34.920 に答える
4

Kinesis Contouredキーボードを考えてみましょう。慣れるまでに約1か月かかりましたが、フットペダルがなくても、理想的なEmacsキーボードであると今では考えています.

冗談抜き。最初にフードペダル付きのものを注文しましたが、足と手のタイミングを修飾キーに十分に活用するのに十分な調整が実際にはできないことがわかりました。しばらくの間、統合された数字パッドを切り替えるために使用していましたが、Kinesis の数字行は非常に簡単にアクセスできるため、使用していないことに気づき、それをあきらめました。

于 2009-01-10T15:29:38.620 に答える
4

私のアドバイスは、修飾キー (control、alt)が手の届くところにあるときに親指を使って押すことです。スペースバーが短いキーボードでは、親指を内側に曲げなくても Alt (メタ) を押すことができます。たとえば、右 Alt を Control に再マップすると、Control と Alt の両方に便利にアクセスできるようになります。これは、MS Natural キーボードでも可能です。

于 2008-10-06T14:17:41.497 に答える
4

Microsoft Natural Keyboard は、私にとって非常に優れたものでした。私は問題なく1日10時間以上すべてにemacsを使用しています。

于 2008-09-09T18:14:04.630 に答える
3

私は毎日emacsとbashを使用しており、VT100が意図したように、追加の左コントロールキーとしてcapslockを使用しています。X11でそれを行うための最良の方法についてはまだ誰も言及していません。(実際、これはX.org/xfree86 Xサーバーに固有のものであり、最近ではすべてが使用されています):

setxkbmap -option ctrl:nocaps

 または、xorg.confを編集して
セクション「InputDevice」
        識別子「汎用キーボード」
        ドライバー「kbd」
        オプション"XkbRules""xorg"
        オプション"XkbModel""pc105"
        オプション"XkbLayout""us"
        オプション"XkbOptions""ctrl:nocaps"
        オプション「オートリピート」「20040」
EndSection

(XkbOptionsとAutorepeatは、事前に生成されたものに追加したものです。Xは毎回正しいキーマッピングで開始され、ログインするたびにsetxkbmapを実行する場所を見つける必要はありません。ウィンドウマネージャを起動します。)

boskomが述べたように、gnomeにはキーボードマネージャーがありますが。

参考までに、emacsはもともと「スペースカデット」キーボードを備えたMITLispマシン用に書かれていました。X11には、スーパー、ハイパー、アルト、メタの修飾キーがあります。PCキーボードの「Windowsキー」がSuperにマップされることがあります。通常、ほとんどのアプリがそれらを使用しないため、ウィンドウマネージャーのもの(仮想デスクトップの切り替えなど)にバインドするのに便利です。

于 2009-12-03T21:04:15.240 に答える
3

チョウに、

昨日、Macでシステム全体のErgoEmacsキーバインディングを使用できるソリューションを見つけました。

秘訣は、mac os xのキーバインドシステムを使用して、Controlキーを使用したシステム全体のErgoEmacsキーバインドを使用することです。次に、OSの設定で、ControlキーとCmdキーを交換します。

そのため、スペースバーの横に修飾子を付けてErgoEmacsキーバインドシステムを広くすることができます。もちろん、欠点は、通常のmac Cmd+keyがキーボードの隅にあることです。したがって、テキスト編集にほとんどのアプリを使用するか、アプリのショートカットを使用するかについては、トレードオフになります。

ここで試してみるかもしれません: http ://code.google.com/p/ergoemacs/wiki/ErgoEmacs_keys_system_wide

また、数年前に私はMacのOSワイドカスタムキーバインディングを試しましたが、一部のココアアプリはまだそれをサポートしていません。ここの下部を参照してください

MacOSXでキーバインディングを作成する方法

しかし、おそらく今は状況が良くなっています。

于 2010-06-17T10:20:42.127 に答える
3

@Alasdair ごとに、Ctrl を「Caps Locks」または他の場所に再マップします:さまざまなプラットフォームの手順

PS elisp 関数を介してこれを行うことができないことに少し驚いています。

于 2008-09-09T19:39:12.727 に答える
3

修飾子を本来あるべき場所に置きます:スペースバーの両側で、変更された文字を押す数字とは反対側の親指 (または選択した他の数字) で押すことができます (そのため Cg は Ctrl では右親指、'g' では左インデックス、Ck は Ctrl では左親指、'k' では右中央)。正しい順序は、内側から順に Ctrl Meta Super Hyper であることに注意してください。

これを行う方法は、OS とキーボードによって異なります。Windows の場合は、ここから開始することをお勧めします。Mac OS X では、[システム環境設定] > [キーボードとマウス] > [修飾キー] で確認できます。Linux には、xmodmapXKBのチュートリアルが 1,000 個あります。

于 2009-05-08T10:31:40.067 に答える
3

emacs の vi エミュレーターであるviper-modeを試してください。過去 25 年間で vi/emacs/vim を何度か切り替えてきた私は、今ようやく emacs で viper-mode を試していますが、気に入っています。vi コマンドの方が快適だと思いますが、私が気に入っている emacs の高度な機能はそのまま維持できます。

于 2009-12-03T20:49:01.100 に答える
3

もう 1 つの方法: 「emacs pinky」を回避したい場合は、pinky を使用してコントロール キーを押さないでください

キーボードのキーを次の順序で再マップする必要がある場合:

[Ctrl][Alt][スペース][Alt][Ctrl]

標準キーボード (MS キーボードなど、対称的に修飾キーを配置する) では、Ctrl キーを薬指で、Alt キーを両手の中指で押すことができるようになりました。これらの指は小指よりもはるかに強く、頻繁な使用に耐えることができます.

Windows でキーボード キーを簡単に再マッピングするための優れたツールは、AutoHotKey です。

Ubuntuでは、キーボード設定/レイアウト/その他のオプションを使用してそれを行うことができました

于 2009-01-25T00:09:35.400 に答える
2

に再マッピングcapslockした後でもcontrol、小指を使って押す必要があります-少なくとも私はそうしますC-g. 小指をまったく使用することはお勧めできませんよね?

私は MacBook Pro を使用しており、⌘</KBD> on the right side of the keyboard to become control. So that way, for instance, C-g becomes a keystroke I execute with both hands, my right-hand thumb on ⌘</KBD> and my left forefinger on g.

それが私のRSIに役立つかどうか見ていきます. 他の誰かがこれをしましたか?

于 2013-07-09T22:36:48.997 に答える
2

私も MS ナチュラル キーボードを持っていますが、これは素晴らしいです。左手の側面 (小指の下) を使って Ctrl キーを押すように訓練することができました。

于 2008-09-09T18:22:25.547 に答える
1

新しいマシンで最初に行うことの1つは、CapsLockを新しいコントロールに再マップすることです。

.regグーグルの周りには、Windows上でこれを簡単に行うことができるファイルがたくさんあります。

于 2008-09-10T13:06:17.840 に答える
1

このスレッドはまだ少し進んでいるので、2セントを追加します。

emacsの有無にかかわらず、ctrlキーはLinuxやWindowsの多くのものに役立ちます:コピー、切り取り、貼り付け、検索、閉じる、終了...私は常にこのようなものを使用しています。他の人が示唆しているように、私はそれをスペースバーの近くに置いて、親指を使えるようにしたいのです。そして、それがMacのデフォルトの方法であり、すべてのものがcmdキーを使用します。

[ctrl] [alt][cmd][スペースバー]

そこで、LinuxボックスでMacキーボードを使用し、cmdキーを2番目のctrlキーとして設定します(Ubuntu Lucidの場合:キーボード設定>レイアウト>オプション> Alt /Winキーの動作>コントロールはWinキーにマップされます(および通常のCtrlキー))

[ctrl] [alt][ctrl][スペースバー]

その他の利点:* Macを時々使用する必要がある場合、カット/ペーストなどはすべて私が慣れている場所と同じ場所にあります。* ctrl + tab(実際のctrlキーを使用)は、両方のプラットフォームで、ブラウザーやその他のアプリのタブ間を移動します。

このプランの欠点は、Altキーが左に移動したため、alt + tabコマンド(ウィンドウの切り替えに使用)がMacの同等のcmd+tabと一致しなくなったことです。しかし、私はまだ親指でそれを打つことができます、そしてそれはまだ私にとって、私の小指を破壊するよりはるかに少ない悪です。ええ、私はctrl + tabをウィンドウスイッチャーにすることができることを知っていますが、実際のctrlキーはタブ切り替えには機能しません。さらに、アプリがブラウザーに移行すると、ウィンドウ/タブのナビゲーション戦略はしばらくの間流動的になりますが、カット/ペーストなどの基本はどこにも行かないので、それらをロックダウンしてほしいと思います。私の親指の下。

(もちろん、Macでemacsを使用したい場合は、正方形の1つに戻ってくると思います...)

于 2010-08-30T18:12:38.393 に答える
1

Controlキーは西または南西のどちらの位置でも問題なく使用できます。多くのEmacsersは、コントロールキーが西の位置と西の位置にのみ属していること、そして他の何かがあなたのピンキーを台無しにすることを誓います。私たちが確かに知っている唯一のことは、RSIがタイピングをする原因となるのはタイピングが多すぎることです。type-break-modeを試して、いくつかの定期的な休憩が役立つかどうかを確認してください。

于 2008-09-16T06:23:07.340 に答える
1

適切な場所に Ctrl があるHappy Hacking Keyboardを購入します(Caps Lock は別の場所に移動します)。応答性に優れており、Mac、Windows、および Linux で最大限の統合を実現するために DIP スイッチを介して構成できます (たとえば、Alt キーと Windows キーをキーボードから直接切り替えることができ、ソフトウェアは必要ありません)。

それがあなたの空想に合っているなら、それはまた非常に小さいフットプリントを持っています.

于 2008-09-17T15:23:59.747 に答える
1

ctrl キーの使用を避けるために、実際に独自のハックを行いました。今は SPACEBAR キーを使用しています。 X 用のこの小さなプログラムは、スペース バーの動作を変更するため、組み合わせて使用​​すると、制御修飾子が追加されます。単独で使用した場合、リリース時に正常に動作します。そうすれば、小指をまったく使う必要がありません!私にとって完璧に機能しました。

于 2011-02-03T18:06:57.037 に答える
1

コントロールキーを押すのに、小指ではなく手のひらを使うようになりました。私の理解では、より人間工学に基づいたキーボードでは、コントロール キー ボタンが大きくなり、その動きを実行しやすくなっています。

于 2008-09-11T18:02:49.087 に答える
1

私はプログラマーではないので、アイデアを説明するのも苦手です。私はデルのミニラップトップを使用しています。マウスのタッチパッドは、親指を置く場所にあります。左のタッチパッド ボタンはコントロール キーとして機能します。親指の側面で押して、いつものように emacs で編集します。右のタッチパッド ボタンを alt にマップするつもりでしたが、代わりに次のようにしました。ボタンを押すと、コントロール キーが押されます (ロックされます)。もう一度押すと、コントロールが解放されます。これにより、小指の調子が良くなっただけでなく、編集速度が 2 倍になりました。(私の組織モードの時計によると) それがどのように機能するかを説明するのは難しいです. これを行うために、次の 2 つのアプリケーションを使用しました: xbindkeys xdotool 私の xbindkeys 設定ファイル:

###########################
# xbindkeys configuration #
###########################
# left mouse button ctrl key
"xdotool keydown ctrl"
b:1
"xdotool keyup ctrl"
control + b:1  +  Release
# vi wanna be style editing
"xdotool keydown ctrl"
release+b:3
"xdotool keyup ctrl"
release+control+b:3
# -------------------------

これらのアイデアを試してみる前に、必ずマニュアル ページを読んでください。重要なものは開かないでください。ウィンドウマネージャーを正しくする前に、ウィンドウマネージャーを数回強制終了する必要がありました。注: xmodmap を使用して、alt と control を入れ替えて、caps ---> control (完全な解決策ではありません) などのすべての通常の処理を行います。(ラップトップでは問題ありませんが、親指が痙攣します)適切なキー マッピング ファイルをロードするバインディングを作成するために、ウィンドウ マネージャの設定ファイル (stumpwm) を使用します。(その日の気分にもよりますが)これはすべて別の環境で実装できると確信しています。ピンクの痛みがなくなり、編集が速くなりました。

于 2013-11-16T15:20:21.773 に答える
0

私のキーボード

ここに画像の説明を入力 短いスペースキーでキーボードを作るだけ!

于 2016-08-14T11:04:57.670 に答える
0

この問題を克服するために、すべてのコピー、貼り付け、保存などをテンキーに再マップします。さらに簡単にするために、別のテンキーを購入し、ラップトップのキーボードの後ろに配置しました。

AHK (自動ホット キー) を使用してキーを簡単に再マップできます。次のキー マッピング スクリプトを使用しています。

NumpadIns::^s
NumpadEnd::^c
NumpadDown::^v
NumpadPgDn::^x
NumpadLeft::^+v
NumpadClear::Control
NumpadRight::^a
NumpadHome::q
NumpadUp::Tab
NumpadDel::^f
NumpadEnter::Space

1 : コピー
2 : 貼り付け
0 : 保存
etc....

于 2014-08-07T02:28:25.350 に答える
0

キーボードの左下隅にあるキーがコントロール (標準キーボード用) であると仮定すると、手のひらを下げるだけで Ctrl キーを押すのは非常に簡単です。小指は関係ありません。とても簡単で速いので気に入っています。Ctrl キーの上の他のキー (Shift、Caps など) には小指のみを使用します。左側の Alt キー、Windows キー、ファンクション キー (ラップトップを使用する場合) には、左の親指 (スペースの場合は右の親指) を使用します。Ctrl を含むホット キーの組み合わせに対しても、同じように Ctrl を使用します。

右の左 Ctrl キーのみを使用します。私は右 Ctrl を「スーパー」修飾子として使用します (autohotkey で F23 にマップされ、emacs で夕食にマップされます)。

このように Ctrl を押すのは最初は奇妙に思えるかもしれませんが、いくつかの使用法が非常に簡単になると (手/手のひらを少し下げるだけで済みます)、ホットキー (Ctrl) を押さない場合とほぼ同じくらい簡単です。私は今emacsを学んでいて、右側で同じことをすることを学んでいるので、この違いがわかります(ラップトップのAppKeyとRight ControlキーとDownとEndの場合)。

これが私のahkコードです:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and      reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

^#e:: Gosub, start_emacs
^#c:: Gosub, start_capture

#IfWinActive emacs@ ahk_class Emacs

Up::Return ; to not interfere with pressing <Down>

; F21 = Alt
RAlt::F21

; F23 = Super
RCtrl::F23

#IfWinActive

exit

start_emacs:
IfWinExist emacs@ ahk_class Emacs
    WinActivate
else
    Run c:\bin\emacs\bin\runemacs.exe
    WinMaximize
return

start_capture:
    Gosub, start_emacs
    SendInput {Ctrl down}xf{Ctrl up} {ctrl down}{shift down}{backspace}{ctrl up}{shift up}
    SendInput ~/org/capture.org {enter}
    SendInput {Alt down}x{Alt up} org-capture {enter}
return

これが私の.emacsにあるものです:

                    ; prevent single key press from activating the given key
;; http://emacs.1067599.n5.nabble.com/w32-pass-rwindow-to-system-td144902.html
(setq w32-pass-lwindow-to-system nil
  w32-pass-rwindow-to-system nil
  w32-pass-apps-to-system nil)
                ; make sure the given key is not used as a modifier
(setq w32-lwindow-modifier nil
  w32-rwindow-modifier nil
  w32-apps-modifier nil) ; Menu/App key
                ; misc
(setq w32-recognize-altgr nil) ; C+M works: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Keyboard.html
                ; A-alt
(define-key local-function-key-map (kbd "<f21>") 'event-apply-alt-modifier) ; RAlt in ahk
                ; H-hyper
(define-key local-function-key-map (kbd "<f22>") 'event-apply-hyper-modifier) 
(define-key local-function-key-map (kbd "<menu>") 'event-apply-hyper-modifier)
(define-key local-function-key-map (kbd "<apps>") 'event-apply-hyper-modifier) 
(define-key local-function-key-map (kbd "<lwindow>") 'event-apply-hyper-modifier)
(define-key local-function-key-map (kbd "<down>") 'event-apply-hyper-modifier)
                ; s-super
(define-key local-function-key-map (kbd "<f23>") 'event-apply-super-modifier) ; RCtrl in ahk
(define-key local-function-key-map (kbd "<right>") 'event-apply-super-modifier) 
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier)
于 2015-05-28T21:49:49.003 に答える