「Emacs Pinky」の入手を回避する最善の方法は何ですか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/52492

  •  09-06-2019
  •  | 
  •  

質問

GNU Emacs をテキスト エディタとして使い始めたところですが、「」に悩まされるのではないかと心配しています。Emacs ピンキーEmacs を使用するときに必要とされるように、小指でコントロール キーを常に押す必要があるためです。この種の反復疲労損傷を潜在的に回避するにはどうすればよいでしょうか?

役に立ちましたか?

解決

作る キャップスロック 別のコントロール キーから始めるのが良いでしょう。人間工学に基づいたキーボードに投資します。Emacs ユーザーの中には、制御やメタデータのためにフット ペダルを使用する人もいます。

他のヒント

スペースバーが機能するように設定します 両方 空間と制御として。いつ 空間 空間として単独で圧迫され、他の空間として圧迫される Ctrl. 。それで 空間 + バツ として扱われます Ctrl + バツ.

Windows では AutoHotKey を使用して実行できます。在宅修飾子" Linux の Xorg で。(X、ただし Linux のみ) カラビナ (正式にはとして知られています) キーリマップ4MacBook)Macでは。(実際、私は 午前 at-home-modifier の作者。=)

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

私の一番下の行は基本的に ESCBS空間入力タブ, 、ただし、修飾子として使用すると、 オルタナティブシフトCtrlシフトオルタナティブ. 。(たとえば、長押しすると ESC まず最初にスペース、それは オルタナティブ+空間, 、ただしスペースの後には ESC, 、 その Ctrl+ESC. 。押したら 空間, ESC, 、 そして バツ, 、それなら Ctrl + 代替 + バツ.) 全て で押すことができます 親指. 。日本語キーボードは、たとえば amazon.com から注文できます。日本語を話す必要はありません。

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

(上の写真がその写真です at-home-modifier の作者 を使用します。ただし、メーカーはこのモデルをもう販売しません。)

フットペダルを手に入れましょう!(私はキネシスを持っています。) その後、コントロールと Capslock のマップを解除して、強制的に足を使用するようにします。

(参考までに、capslock の再マッピングは役に立ちますが、1 日で十分な Emacs を行ったとしても、完全な解決策にはなりません。)

神の愛のために - 別のテキスト エディタを使用してください。それが必要なものであれば、 フットペダル 通常どおりに作業するには...良い...率直に言って、言葉がありません。大量の難解なキーストロークを覚えたり、豪華なハードウェアを購入したりする必要のない、強力な現代的なテキスト エディターが数多く存在します。

私は多くのことを理解して受け入れることができますが、 フットペダル シンプルなテキストエディタの場合、私は実際に線を引きます。

私はいつも、プログラマー、ライター、オタクなどからなる大規模なコミュニティがなぜ存在するのか不思議に思っていました。この問題に対する非常にシンプルで効果的な解決策はまだ見つかっていません。単に:1) 小さな紙を用意し、紙球を作ります。2) スコッチを使用して、左 Ctrl キーに貼り付けます (一時的にその場所から削除します)。3) 書くときは、左手のひらの側面を使ってそのキーを押します。このキーは他のキーよりも高い位置にあるので、簡単に押すことができます。そうすれば、超エルゴ キーボードを購入したり、Ctrl キーを Capslock に再マップしたりする必要がなくなります (最終的には小指で押すことになります)。

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

リマップ 左 Ctrl そして キャップスロック したがって、それらはあるべき場所にあります。

[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

 

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

優秀なものを使っています キーコードモード 一般的なアクションの場合。呼び出す関数やキー シーケンスを指定できます。

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

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

Best wishes,
Arne

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

私も使っています コントロールロックモード フライスペルのようなものでは、常にコントロールが必要です。これは、実際の emacs ショートカットを使用したモーダル編集です。

私がよく使うコードは

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

「Emacs pinky」問題に関しては、何人かの人々が「anti-Emacs-pinky」キーバインディングを設定していることに気付きました。 .emacs, 、ユーザー「Paul Nathan」のように(これを入力している時点で 17.5k のリピーター)、ここにあります。

Emacs の優れたカスタム キーバインディングとは何ですか?

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

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

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

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

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

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

私と同じように、残念なことに、これらの素晴らしいキーボードが「違いすぎる」という理由で適応できない場合は、優れた「メカニカル」キーボードを選んでください。キーボードを入力中に「底つき」をしないようにすると、指の関節が傷つきにくくなります。数十年にわたるプログラミングの後に役立ちます。

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

  • 適切なキーボードを使用している場合は、CAPS-LOCK を CTRL に再マップします。どのOSでも実行可能です。それは些細なことですが、この件に関するリンクはたくさんあります。

  • CTRL への過度の依存を防ぐために Emacs のキーを再マップします。まずCTRL-xがひどいです。それは本当に最悪の近道に違いない。ただし、ctl-x-map を必要なものに再マップすることができます。これを再マッピング マイナー モードで実行します。

    (定義キー my-keys-minor-mode-map (kbd "C-,") ctl-x-map)

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

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

C-f / C-b は、カーソルを移動するためのこれまでで最も愚かな 2 つのショートカットに違いありません。

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

最後になりましたが、重要なことです:入力していないときは、 休む キーボード上の指。もちろん、このためには、単にキーボードの上にキーを置いているときに作動しない程度の抵抗を備えた、優れたスイッチを備えたキーボードが必要です。

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

私のアドバイスは次のとおりです 親指を使って修飾キー (Ctrl、Alt) を押してみてください。 手の届く範囲にあるとき。スペースバーが短いキーボードでは、親指を内側に曲げなくても Alt (メタ) を押すことができます。再マッピングできます。右 Alt を Control にすると、Control と Alt の両方に簡単にアクセスできるようになります。これは MS Natural キーボードでも可能です。

を考えてみましょう キネシスコンタード キーボード。私のキーボードの速度に慣れるまでに約 1 か月かかりましたが、今ではフット ペダルがなくても、これが理想的な Emacs キーボードであると考えています。

冗談抜き。私は初めてフード ペダル付きのものを注文しましたが、実際には修飾キーに十分に活用できるほど足と手のタイミングを調整することができないことがわかりました。しばらくの間、統合テンキーを切り替えるためにそれを使用していましたが、Kinesis の数字行に手が届きやすいため、使用していないことに気づき、それをやめました。

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

たとえば、<CTRL-K> を押したいとします。QWERTY キーボードでは、<K> が右側にあるため、キーボードで <CTRL> を押します。 手と<K>を持って 手。システムに慣れてしまえば問題なく使えます。

@Alasdairによると、Ctrlを「Caps Locks」または他の場所に再マップします。 さまざまなプラットフォーム用の説明書.

追伸これが elisp 関数を介して実行できないことに少し驚きました。

もう 1 つのアプローチ:単純に「emacs pinky」になるのを避けたい場合 小指を使ってコントロールキーを押さないでください.

必要に応じて、キーボードのキーを次の順序で再マップします。

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

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

Windows 上のキーボード キーを簡単に再マッピングするための優れたツールは、 オートホットキー

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

試す バイパーモード, 、これは emacs の vi エミュレータです。過去 25 年間、vi/emacs/vim を何度も行き来してきた私は、今ようやく emacs で viper モードを試していますが、とても気に入っています。vi コマンドの方が快適だと思いますが、気に入っている emacs の高度な機能も引き続き維持できます。

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

setxkbmap -option ctrl:nocaps

 Or edit your xorg.conf to have
Section "InputDevice"
        Identifier  "Generic Keyboard"
        Driver      "kbd"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
        Option      "XkbOptions" "ctrl:nocaps"
        Option      "Autorepeat" "200 40"
EndSection

(XkbOptions と Autorepeat は、事前に生成されたものに追加したものです。そうすれば、X は毎回正しいキー マッピングで起動するようになり、ログインしてウィンドウ マネージャーを起動するたびに setxkbmap を実行するために setxkbmap を配置する場所を探す必要がなくなります。)

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

参考までに、emacs はもともと MIT Lisp マシン用に書かれました。 「宇宙士官候補生」キーボード. 。X11 には、super、hyper、alt、meta 修飾キーがあります。PC キーボードの「Windows キー」が Super にマップされている場合があります。これらはウィンドウマネージャーのものにバインドするのに便利です (例:仮想デスクトップを切り替える) は、通常それらを使用するアプリがほとんどないためです。

修飾子を元の場所に置きます 意味 なれ:スペースバーの両側にあり、変更された文字を押している数字の反対側の親指(または選択した他の数字)で押すことができます(C-gはCtrlキーの右親指で、Ctrlキーの左インデックスになります) 「g」、C-k は Ctrl の場合は左親指、「k」の場合は右中です)。正しいシーケンスは、内側から外側へ、Ctrl Meta Super Hyper であることがわかります。

これを行う方法は、OS とキーボードによって異なります。Windows の場合は、次のことを始めてください。 ここ. 。Mac OS X では、[システム環境設定] > [キーボードとマウス] > [修飾キー] を参照できます。Linux の場合は 1,000 個あります xmodmap そして XKB チュートリアル。

チョウさんに、

昨日、Mac 上でシステム全体の ErgoEmacs キーバインドを使用できる解決策を見つけました。

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

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

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

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

Mac OS Xでキーバインドを作成する方法

しかし、おそらく今は状況は良くなっているでしょう。

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

リマッピング後も キャップスロック なる コントロール, 、それでも小指を使って押す必要があります - 少なくとも私はそうしています、なぜなら私の薬指は次のようなコマンドには届かないからです。 C-g. 。小指をまったく使うのはおすすめできませんよね?

私は MacBook Pro を使用していますが、ちょうど再マップしました。 キーボードの右側にある コントロール. 。それで、例えば、 C-g キーストロークは両手で実行され、右手の親指が上にあります そして私の左手の人差し指は g.

それが私のRSIに役立つかどうか見てみましょう。他にこれをやった人はいますか?

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

Google にはたくさんあります .reg Windows 上でこれを簡単に実行できるファイルが利用可能です。

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

Ctrl キーは西または南西のどちらの位置でも問題なく使用できます。多くの Emacsers は、コントロール キーは西の位置と西の位置にのみ属し、それ以外のものは小指を台無しにする、と断言します。タイピングによる RSI の原因として確実にわかっているのは、タイピングのしすぎです。type-break-mode を試して、定期的にブレークを数回行うと効果があるかどうかを確認してください。

かう ハッピーハッキングキーボード これは、Ctrl を適切な場所に配置します (Caps Lock は別の場所に移動します)。優れた応答性があり、Mac、Windows、Linux での統合を最大限に高めるために DIP スイッチ経由で設定可能です (たとえば、Alt キーと Windows キーをキーボードから直接切り替えることができ、ソフトウェアは必要ありません)。

ご希望に応じて、設置面積も非常に小さくなります。

このスレッドはまだ続いているので、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 を使用したい場合は、振り出しに戻ると思います...)

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

私はプログラマーではないので、アイデアを説明するのが苦手です。私はデルのミニラップトップを使用しています。マウスのタッチパッドは親指が当たる位置にあります。左側のタッチパッド ボタンはコントロール キーとして機能します。いつものように親指の横で押して 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 を使用して通常のことをすべて実行します。caps ---> コントロール (完全な解決策ではありません)、alt とコントロールを交換します。(ラップトップでは大丈夫ですが、親指がけいれんします)Window Manager Configファイル(StumpWM)を使用して、適切なキーマッピングファイルをロードするバインディングを作成します。(その日の気分に応じて)これはすべて別の環境で実装できると確信しています。ピンク色の痛みがなくなり、編集が速くなりました。

悪くないGod-Modeプラグインを試してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top