今日の統計

完了した演習
-
打ち込んだ文字 入力した単語
-
練習時間
-

全体的な統計

完了した演習
-
打ち込んだ文字 入力した単語
-
練習時間
-

プログラマーのためのブラインドタッチ

タッチタイピングを身につけると、キーを探さずにコードを書いたり編集したりできます。 関数やコマンド、AIエージェントへの指示を入力している間も、画面を見続けられます。プログラマーの練習には、文字だけでなく数字、記号、コードで使う命名規則も必要です。

JavaScriptの関数の横でキーボードを打つ人のシルエット

押さえておきたいポイント

  • 使う言語の数字、記号、命名規則を練習しましょう。AgileFingersの通常コースには数字と記号のレッスンもあります。
  • コードにはプログラミングレッスンを使うか、カスタムテキストに自分のコードを貼り付けます。
  • Vimを使う方法も、普段のIDEのショートカットを覚える方法も、効率的な作業につながります。
  • AIエージェントのコードを確認し、修正できるようになりましょう。自分で入力しなくても、そのコードへの責任は残ります。

プログラミングでタッチタイピングが役立つ理由

基本は変わりません。キーボードを見ずに入力することで時間を節約し、入力そのものより目の前の作業に集中するための技術です。

コードを書くには、作文より多くのキーを使いこなす必要があります。短い式のitems[index] += value;にも、英字、角括弧、演算子、セミコロンが含まれます。ほかにも波括弧、丸括弧、引用符、数字が登場します。小文字の単語だけのタイピングテストでは、これらの組み合わせは練習できません。記号を探して視線を落とすと、コードを読み続けられません。

条件式を変更するときは、周囲のコードも確認しなければなりません。タッチタイピングなら、入力中も読み続けられます。ソフトウェア開発に20年以上携わった今も、コードの編集、テストの追加、ターミナルでの作業でこの力を重宝しています。

実際に使うキーの組み合わせを練習する

条件式、ループ、関数の宣言は繰り返し登場します。JavaScriptのループの先頭部分for (let i = 0; i < items.length; i++)には、括弧、セミコロン、比較、インクリメントが含まれます。途中で指が止まるなら、そのような式を練習しましょう。使う言語の構文を素早く入力できることは大切です。

大文字の使い方や命名規則も関係します。userAccountとuser_accountでは、指の動きや習慣が異なります。Pythonのスタイルガイドは、関数名と変数名に小文字を使い、単語をアンダースコアで区切るsnake_caseを推奨しています。Javaの変数名では、userAccountのようなcamelCaseが一般的です。クラスや定数には別の規則があります。どの形式も自然に入力できるようにしましょう。

練習内容も変わります。Pythonの変数名ではアンダースコア、Javaの変数名では名前の途中の大文字を使う機会が増えます。Pythonでプログラミングするなら、Javaの練習よりPythonの練習の方が適しています。

コードを写すときは、その働きと構造を理解することも意識しましょう。条件式の終わりとブロックの始まりを確認します。Pythonではインデントが文をまとめるため、変更すると動作が変わることがあります。意味を考えずに写さないことです。

数字と記号を練習する

通常のAgileFingersタイピングコースにも数字と記号があります。特定の数字や記号、キー操作で止まるなら、そのレッスンに戻りましょう。普通の文章がまだ安定しない場合は、コードより先にそちらを練習します。英字が十分に打てるなら、必要なキーから始めてかまいません。長年プログラミングしていても、探してしまう組み合わせは残るものです。

図は米国配列のQWERTYキーボードです。この配列では、Shiftと角括弧のキーで波括弧を入力します。ほかの配列では記号の位置が異なり、AltGrなどが必要な場合もあります。練習用の配列はOSで有効な配列に合わせてください。レッスンで使える文字も配列によって変わります。変更は設定で行えます。

数字の列と句読点のキーを強調した米国配列QWERTYキーボード
米国配列QWERTYの記号キー。ほかの配列では、位置や修飾キーとの組み合わせが異なる場合があります。

IDEをキーボードで操作する

JetBrainsのIDEやVisual Studio Codeでは、ファイル検索、呼び出し先への移動、シンボル名の変更をキーボードで行えます。まず普段のエディターのショートカットを覚えましょう。マウスを使わずに編集したいなら、Vimの拡張機能でこれらやさらに多くの操作ができます。

毎日繰り返す操作から始めます。

  • ファイルやシンボルを探す:フォルダーツリーをたどらずにファイルを開き、関数へ移動します。
  • 定義へ移動して戻る:呼び出し元から実装へ進み、元の場所へ戻ります。
  • シンボル名を変更する:その言語に対応していれば、エディターの名前変更機能を使います。プレビューと影響する参照を確認します。
  • 必要なテストを実行する:関係するテストを再実行し、報告されたエラーへキーボードで移動します。
  • 選択と編集:単語単位の移動、選択範囲の拡張、行コメント、エディターとターミナルの切り替えを覚えます。

最初にアクションの検索を覚えると、メニューをたどらずにコマンドを探せます。JetBrainsの標準的なキーマップでは、Shiftを2回押すとSearch Everywhereが開きます。移動やキーマップの設定はJetBrainsのショートカットガイドで確認できます。

VS Codeのコマンドパレットは通常、WindowsとLinuxではCtrl+Shift+P、macOSではCmd+Shift+Pで開きます。キーボードショートカットのエディターでは、コマンドの検索や割り当ての変更ができます。動作が違う場合は有効なキーマップを確認してください。初期設定はよく考えられているので、変更は慎重に判断しましょう。

長い名前には補完、繰り返すコードにはスニペットを使います。例えばVS CodeのIntelliSenseには補完やパラメーター情報があります。タイピング練習では自分で全文を入力しますが、実際のプロジェクトでは支援を使い、挿入された内容を確かめましょう。同じクリックを繰り返していたら、ショートカットを調べて次の作業で試してみてください。

ターミナルでの作業にも慣れる

開発者や管理者は、コマンドやテストの実行、ログの確認、ファイル管理、リモートシステムでの作業にターミナルを使います。コマンドには名前、パス、オプション、引用符、パイプ、数字が混ざります。実行前に入力を読み直す必要があります。タッチタイピングなら、入力や修正の最中もコマンドを見ていられます。

使っているシェルの編集機能を覚えましょう。Bashの標準のEmacs形式Readline設定では、Ctrl+Aで行頭、Ctrl+Eで行末へ移動します。Ctrl+Rは履歴を後方検索し、Tabはコマンドやファイル名などの補完を試みます。詳しくはBashマニュアルのREADLINEの説明を参照してください。別のシェルや独自設定では異なる場合があります。

履歴と補完で入力の繰り返しを減らせます。引数が1つ違うなら、そこへ移動して直せば、全体を打ち直す必要はありません。Enterの前にパス、オプション、作業ディレクトリを確認します。リモート環境ではシェルも確認してください。ローカルとは編集操作が違うことがあります。

速度だけでなく正確さも測る

速度と一緒にミスも見ましょう。総合成績がよくても、同じ記号を何度も直すなら練習が必要です。エディターは名前の誤字を検出しても、意図と違う動作をする有効な演算子を見抜くとは限りません。コードの確認とテストは続けましょう。

最初は正確に打てる速さで始めます。安定して入力でき、誤字が少なく、ミスにもすぐ気づいて直せるようになったら速くします。比較では同じ課題、配列、練習の制限、正確率の方式を使ってください。上達しても、難しい文章では成績が下がることがあります。コースも最初は簡単ですが、組み合わせが徐々に複雑になります。速度が落ちたように感じても、難度が上がっただけかもしれません。

AgileFingersは1分間の単語数または文字数を表示します。1語を5文字として換算するので、長い識別子も単なる1語にはなりません。初回入力の正確率は、修正後もミスを数えます。最終テキストの正確率は、練習に残った入力を評価します。方式によって結果が違うため、比較するときは選んだ方式を確かめてください。目的に合う設定を選びましょう。

プログラマー向けのAgileFingers練習

明るい色、イラスト、使いやすさから、AgileFingersは初心者や先生、生徒だけのものに見えるかもしれません。学校にも向いていますが、作ったのはコンピューターサイエンスを愛する開発のプロです。熟練した専門家にも役立つものを目指しました。そのため、単純な単語や抽象的なキーの組み合わせだけでなく、複雑な文章を練習できる文学作品や、複数のプログラミング言語のレッスンを用意しました。レトロなテーマや暗い配色もあります。より落ち着いた表示なので、明るい画面がまぶしく感じるなら、どれが楽に使えるか試してください。

プログラミングレッスンにはPython、JavaScript、Javaなどのコードがあります。言語を選び、表示されたコードを入力します。キーボードと指のガイドで使うキーが分かり、終了後には速度と正確率が表示されます。

コード、正確率、キーボード、指のガイドが表示されたAgileFingersのJavaScript練習
JavaScriptのコード練習。コード、正確率、指のガイドが表示されます。配列や外観は設定によって異なります。

自分のコードで練習する

AgileFingersのカスタムテキストでは自分のコードも使えます。練習したい短い部分を貼り付け、タイトルを付けて保存し、自分の一覧から選びます。条件が入れ子の関数、結合を使うSQLクエリ、Bashの引数解析などが候補です。内容を理解しているコードなら、入力に集中できます。

アンダースコアや数字でつまずくなら、それらを含む名前を選びます。引用符や括弧のミスには、それらが多い部分を使います。開始前に表示を確認してください。特に、元のコードにタブや配列にない文字がある場合は注意します。技術的な説明やAIエージェントへの指示も練習できます。

AIエージェントにも明確な指示と確認が必要

エージェントはコードの生成、チェックの実行、修正ができます。それでも、希望を説明し、変更を確認するのは人です。GitHubのコーディングエージェントの利用指針でも、明確なタスク、人による確認、生成コードのテストを勧めています。

自分でコードをあまり打たなくても、要件を説明し、例を挙げ、バグを報告し、結果に意見を伝えます。"フォームを改善して"だけでは推測させることになります。失敗する入力、ユーザーに見せる結果、維持すべき動作を具体的に伝えてください。要件が変わったり理解が違ったりすれば、指示も修正します。必要な詳細があれば、望む解決策に近づきやすくなります。エージェントを使う方が、自分でプログラミングするより多く入力することさえあり得ます。コードでは記号ごとに考え、読みやすく保守しやすい簡潔さを意識します。一方、指示では言葉を省くより十分な説明を優先します。少し面白い話ですが、AIがコードを書く時代には、タッチタイピングが以前より役立つかもしれません。

指示を音声入力できるので、キーボードはもう不要だという人もいます。音声は下書きに便利ですが、編集には手間がかかります。パスの修正、変数名の変更、長い指示から条件を1つ削る作業などです。音声入力が合うなら使えばよいでしょう。私なら、小さな修正を自分でできるよう、キーボード編集も練習し続けます。一日中マイクに話したいとは限りません。人にも物にも、コンピューターにも話しかけるほど外向的な人でも、声を休める時間は必要です。静かに作業したいときのために、使い慣れたキーボードがあります。

動作を説明できない製品を作るのは、私なら不安です。エージェントが自信を持って答えても、権限チェックが正しいことや例外的な条件を網羅したことの証明にはなりません。製品の持ち主なら、その判断に責任を持ちます。問題を見つけ、修正を説明できる程度には学びましょう。言語の習得には実際に多くのコードを書くことが必要です。自作のプログラムより構文の理解が目的なら、AgileFingersのレッスンも役立ちます。

優れたプログラマーを目指すなら、コードを読み、自分で変更することを続けましょう。エージェントの助けを借りても、仕事をよく確認し、提案を批判的に検討します。AgileFingersのプログラミングレッスンでは、苦手な記号やコードのパターンを練習できます。

VimとNeovimの基本的な編集

Vimは、キーボードのコマンドでファイル内を移動し、マウスを使わず少ない操作で編集するエディターです。NeovimはVimを基にし、同じ基本的な編集方式を受け継いでいます。どちらも入力と編集でモードが分かれています。ノーマルモードのddは現在行を削除し、ciwはカーソル位置の単語を変更して、置き換えを入力する挿入モードへ移ります。Neovimの公式ドキュメントに移動や編集などの説明があります。

コマンドは効果が見えるエディター内で覚えましょう。一部のNeovimディストリビューションでは、Escape、:Tutor、Enterで対話型チュートリアルを開けます。無効なら、ターミナルでnvim --cleanを起動して再度試します。これはNeovimの標準設定を読み込みます。Vimは利用環境のvimtutorの説明を参照してください。

チュートリアルの一部を終えたら、説明を見ずに繰り返します。次に、よく知るファイルのコピーを開き、同じコマンドで名前の置き換えや行の削除を試しましょう。長い一覧を暗記する前に、よく使う操作を数個覚えます。

Neovimでも使えるIDEの機能

Neovimにはファイル検索、コード移動、補完、診断、整形のプラグインがあります。自分で設定するか、設定済みのディストリビューションを使えます。LazyVimはその一つです。IDEでなじみのある多くの機能を備えていますが、言語に応じたツールは必要です。キーマップガイドやwhich-keyの表示でコマンドを探せます。

ファイル検索、テキスト検索、which-keyのコマンド一覧を表示したLazyVimの開始画面
LazyVimはNeovimの編集と開発ツールをまとめ、キー操作を探しやすくします。ポップアップには、先頭のキーを押した後に使えるコマンドが表示されます。

普段のIDEでVim拡張を使うこともできます。特に想定外の動作があったら、拡張とIDEのどちらがそのキーを処理するか確認しましょう。よく使う数個の編集コマンドから始めます。

短い練習プラン

今日手が止まったものを一つ選びます。探した記号、何度も間違えた名前、見つからなかったコマンドなどです。次の練習はそこから始めます。

  1. 必要な数字や記号を扱うコースのレッスンを選びます。
  2. その文字を使うプログラミングレッスンやカスタムテキストを入力します。
  3. 結果を確認し、間違えた部分を正しく打てる速さで繰り返します。
  4. エディターやターミナルのシェルに戻り、実際のコードやコマンドで使います。

普通の文章も練習しましょう。コメント、ドキュメント、AIへの指示は仕事の大切な部分です。AgileFingersのテキストにある文学作品や、自分で作った技術メモを使えます。学びながら少し気分転換したいなら、タイピングゲームも試してください。

プログラマーからよく出る質問

以下は、RedditでITの仕事とタッチタイピングについて話し合う際に出てくる質問です。

単語は速く打てるのに、コードだと遅くなるのはなぜ?

英字の位置を覚えていても、括弧、引用符、数字、大文字で迷うことがあります。なじみのない構文も原因になります。理解できる短いコードを選び、止まりやすい組み合わせを練習しましょう。同じ部分で結果を比べます。プログラミングレッスンは、その入力に慣れるためにも使えます。

プログラミングの前にタッチタイピングを覚えるべき?

両方を並行して学べます。プログラムを作りながら、まだ探してしまうキーを少し練習しましょう。プロジェクトを始めるために高い速度を達成する必要はありません。すでに仕事で開発している場合も、普段の業務に同じ練習を組み込めます。

コードを打ちやすくするために配列を変える必要はある?

まず職場の配列を使いましょう。母語の入力にも必要ならなおさらです。変更前に記号の入力を練習します。別の配列が合う場合もありますが、自宅と職場の両方を考えてください。自宅が大きくカスタマイズした開発用キーボードで、職場では別設定の標準キーボードだと、切り替えが不便になり得ます。

気に入った割り当てが両方の端末で使えるか確認します。よく使う文字、記号、ショートカットは、できるだけ共通にして覚え直しを減らしましょう。職場を自宅と同じにできないなら、標準配列にも慣れておきます。忙しい日に初めて頼るのではなく、前もって新しい位置を練習してください。

次の開発作業で試してみる

次にコードやコマンドを書くとき、どのキーで止まり、視線を落としているか気づくことから始めましょう。プログラミングレッスンで練習するか、自分のテキストにコードを追加します。エディターやAIは使い続けてかまいませんが、出力は読み、確かめ、直してください。今のIT業界や最近の変化に不満があっても、多くは自分では変えにくいものです。経験ある開発者としては、自分の心のためにも、一部の変化を受け入れて適応することを勧めます。ただし、すべてをAIに任せる必要はありません。言語を読めるだけでなく自分で作れるように、コードの一部は手で書き続けましょう。キーボードは、実際に触れられる物理的なコミュニケーションの道具です。デジタル製品を扱う中でも、手元には確かな物があります。触れたり手を動かして使ったりできる物は、現実とのつながりを保つためにも必要です。

P. J. Ostoja 公開日: 最終更新日: