1. ホーム
  2. language-agnostic

[解決済み] プログラミングのための理想的なキーボードレイアウト【終了しました

2023-03-16 19:46:50

質問

CやC++に代表される、簡潔さのために記号を多用するプログラミング言語(APLには触れない)は、シフトキーを多用するため打ちにくいという不満をよく耳にします。1、2年前、私自身もそれに嫌気がさし、マイクロソフトの キーボード レイアウト クリエーター をダウンロードし、レイアウトを少し変更したのですが、それ以来一度も見返していません。これらのいくつかの簡単な変更により、C++ コードを約 30% 速く入力できるようになりました (もちろん、どれだけ毛深いかにもよりますが)。

プログラミング用にどのような代替キーボード レイアウトが存在し、人気を博してきたか、それらのどれかが現在も使用されているか、変更したレイアウトを個人的に使用しているか、そして、どのようにして私のレイアウトをさらに最適化できるのか、などです。

私は、標準的な QWERTY レイアウトに次のような変更を加えました。(私は Dvorak がありますが、そこに プログラマ ドヴォルザーク のレイアウトは特筆すべきものです)。

  • 数字と記号の入れ替え というのは、長いまたは繰り返されるリテラルな数値は、通常、名前付き定数に置き換えられるからです。
  • バッククォートをチルダに置き換えます。 なぜなら、バッククォートは多くの言語では稀ですが、デストラクタはC++では一般的だからです。
  • マイナスとアンダースコアを入れ替えてください。 というのは、アンダースコアは識別子でよく使われるからです。
  • 中括弧を角括弧と入れ替えます。 なぜなら、ブロックは添え字よりも一般的だからです。
  • 二重引用符を一重引用符に置き換えます。 文字列は文字リテラルよりも一般的だからです。

なぜなら、一般的な短縮形を入力するためにシフトを使用する必要があるため、テキストの実行を最も妨げているからです。このレイアウトにより、C++、C、Java、および Perl での私のタイピング速度が大幅に向上し、LISP および Python では多少向上しました。

どのように解決するのですか?

私は今でも、タイピング速度はプロジェクト完了までの時間の主な要因ではないと考えています。もしそうだとしたら、大きな問題があります (数週間のコーディングで、数時間のプランニングを節約できるのです)。

あなたの質問について、私は標準的なレイアウトを使用することを好みます。それは、標準的なキーボード レイアウトを提示されたときに、最初の 10 分をバカにしたように過ごす必要がないことを意味します。

あなたが提案したいくつかの置き換え、たとえば、特殊文字のある一番上の列は、もう一方の手の外側の指が同時にシフトに移動するはずなので、少しの違いもありません。

IMHO レイアウトを連結する上で役立つことのひとつは、キーボードショートカットだけを使用することです。Vim と Emacs をお勧めします。テキストを移動するのがはるかに速くなります。