[解決済み] プログラミングのための理想的なキーボードレイアウト【終了しました
質問
CやC++に代表される、簡潔さのために記号を多用するプログラミング言語(APLには触れない)は、シフトキーを多用するため打ちにくいという不満をよく耳にします。1、2年前、私自身もそれに嫌気がさし、マイクロソフトの キーボード レイアウト クリエーター をダウンロードし、レイアウトを少し変更したのですが、それ以来一度も見返していません。これらのいくつかの簡単な変更により、C++ コードを約 30% 速く入力できるようになりました (もちろん、どれだけ毛深いかにもよりますが)。
プログラミング用にどのような代替キーボード レイアウトが存在し、人気を博してきたか、それらのどれかが現在も使用されているか、変更したレイアウトを個人的に使用しているか、そして、どのようにして私のレイアウトをさらに最適化できるのか、などです。
私は、標準的な QWERTY レイアウトに次のような変更を加えました。(私は Dvorak がありますが、そこに プログラマ ドヴォルザーク のレイアウトは特筆すべきものです)。
- 数字と記号の入れ替え というのは、長いまたは繰り返されるリテラルな数値は、通常、名前付き定数に置き換えられるからです。
- バッククォートをチルダに置き換えます。 なぜなら、バッククォートは多くの言語では稀ですが、デストラクタはC++では一般的だからです。
- マイナスとアンダースコアを入れ替えてください。 というのは、アンダースコアは識別子でよく使われるからです。
- 中括弧を角括弧と入れ替えます。 なぜなら、ブロックは添え字よりも一般的だからです。
- 二重引用符を一重引用符に置き換えます。 文字列は文字リテラルよりも一般的だからです。
なぜなら、一般的な短縮形を入力するためにシフトを使用する必要があるため、テキストの実行を最も妨げているからです。このレイアウトにより、C++、C、Java、および Perl での私のタイピング速度が大幅に向上し、LISP および Python では多少向上しました。
どのように解決するのですか?
私は今でも、タイピング速度はプロジェクト完了までの時間の主な要因ではないと考えています。もしそうだとしたら、大きな問題があります (数週間のコーディングで、数時間のプランニングを節約できるのです)。
あなたの質問について、私は標準的なレイアウトを使用することを好みます。それは、標準的なキーボード レイアウトを提示されたときに、最初の 10 分をバカにしたように過ごす必要がないことを意味します。
あなたが提案したいくつかの置き換え、たとえば、特殊文字のある一番上の列は、もう一方の手の外側の指が同時にシフトに移動するはずなので、少しの違いもありません。
IMHO レイアウトを連結する上で役立つことのひとつは、キーボードショートカットだけを使用することです。Vim と Emacs をお勧めします。テキストを移動するのがはるかに速くなります。
関連
-
[解決済み] 関数は return 文を1つだけ持つべきですか?
-
[解決済み] 点から線分までの最短距離
-
[解決済み】ビットシフト(bit-shift)演算子とは、どのようなもので、どのように機能するのですか?
-
[解決済み] イーガーローディングとは何ですか?
-
[解決済み] 2つの角度の差を求めるにはどうすればよいのでしょうか?
-
[解決済み] お気に入りの(賢い)防御的プログラミングのベストプラクティス【非公開
-
[解決済み】10行以下の簡単なコードでできる最もクールなことは何ですか?初心者を鼓舞するのに役立つ [終了しました]
-
[解決済み] 例外やエラーコードの規約 [終了しました]。
-
[解決済み] 浮動小数点数の比較はどのようにすればよいのですか?
-
[解決済み] プログラミングコンテストの出場者は、なぜC++やJavaを使うのか?[終了しました]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 式と文の比較
-
[解決済み】ビットシフト(bit-shift)演算子とは、どのようなもので、どのように機能するのですか?
-
[解決済み】マジックナンバーとは何ですか、なぜ悪いのですか?[クローズド]
-
[解決済み】なぜソースファイルの最後に空行を入れることが推奨されるのですか?
-
[解決済み] さまざまなアプローチやコンセプトを理解するために学ぶべき重要な言語とは?[クローズド]
-
[解決済み] 2つの角度の差を求めるにはどうすればよいのでしょうか?
-
[解決済み] プログラミングにおける "Context "という言葉?[クローズド]
-
[解決済み] メールを送信するアプリを開発・テストするには(誰かのメールボックスをテストデータで埋めずに)どうしたらいいでしょうか?[クローズド]
-
[解決済み] OOPってなんだろう?
-
[解決済み] プログラミングコンテストの出場者は、なぜC++やJavaを使うのか?[終了しました]