見出し画像

文字入力・編集の効率化手法

想定読者

  • 現状の文字入力が非効率的だと感じ、改善したいと思っている人

  • PC で作業する際に文字入力の効率化なんて考えたことがない人

  • Qwerty から別のキーボードレイアウトへの転向を考えている人

  • エンジニア

記事の要約

  • 一日の中で PC に触れる機会が多い人は、文字入力・加工の効率化について考えてみると日々の PC 作業の効率化に繋がります

  • Snippet、辞書登録は導入コストが少なく、実践すると効率向上をすぐに実感できると思います

  • キーボード選定はキーボード沼にハマらないよう注意してください

  • テキストエディタの基本的なショートカットを覚えるだけでも文字加工の効率は上がるため、自分が使っているエディタのショートカットを覚えることから始めるとよいかと思います

  • ローマ字テーブル変更は導入コストは低いが、共有 PC などで頻繁に日本語入力をおこなうことがある場合はISO 3602に準拠した入力方法への慣れがないと入力効率が落ちる可能性があります

  • キーボードレイアウトを Qwerty から転向する場合は文字入力・編集そのものへの愛がないときついため、生半可な覚悟で転向すると身を滅ぼしますのでご注意ください

なぜ文字入力を効率化するのか

結論から書くと「PC を使って目的を達成しなければいけない場合の目的達成までのスピードが上がる」からです。
私はエンジニアという職業柄、どうすれば効率的に PC を操作できるだろうということを常に考えています。
皆さんは「PC を操作する」場合に具体的にどういった行動を取っているでしょうか。
私の場合は主に以下の行動を取っていました。

  • マウス、トラックパッドを指で触れ、マウスカーソルを目的の箇所まで移動させる

  • 音声により、目的の文字を入力する

  • キーボードを指で打鍵し、目的の文字を入力する

PC 上では頭がパンクするような複雑なことをよく扱いますが、物理的に PC に対しておこなっていることを整理すると、とてもシンプルですね。

マウス、トラックパッドを指で触れ、マウスカーソルを目的の箇所まで移動させる

「マウス、トラックパッドを用いて目的の箇所まで移動する」を効率化させる場合はハードウェアの機能、性能に依存することが多いと私は感じたため、効率化を突き詰めるのは断念しました。

音声により、目的の文字を入力する

コロナ禍でテレワークが増えたことによりWEB会議が多くなりました。
PC に向かって喋ることが多くなり、音声を入力として渡しているなーと思ったので記述しました。
「音声入力を文字として起こしてくれる」という使い方は私の滑舌と話し方では難しいと感じています。

キーボードを指で打鍵し、目的の文字を入力する

前述した「マウス、トラックパッドを指で触れ、マウスカーソルを目的の箇所まで移動させる」はこの行動をおこなわなくとも PC を操作することはできます(場面によってはとても不便を強いられますが)。
ですが、現代の PC を操作する上でキーボードへの打鍵は必須です。
この必須動作である「目的の文字を入力する」ということを正確に、高速におこなうことができれば「必然的に目的達成までのスピードが上がるよね」というお話です。

私が実践している効率化手法

辞書登録

IME の設定で辞書登録をおこなえます。
機能としては「よみ」を入力することで「単語」を補完候補として選択することが出来ます。
この機能を使用することで文字入力数をぐっと減らすことができます。
登録するコツとしては自分の辞書が漢字変換のノイズにならないように「省略文字は変換補完候補が少ない文字列にする」なのかなと思います。
変換候補がほとんど出てこない全角英字を使うのもよいですね。

具体的な例

ありが -> ありがとうございます
sy -> 承知しました
ry -> 了解しました
めーる -> example@example.com

Snippet

辞書登録と近いですが、「トリガー」となる文字列を決め、入力するとあらかじめ登録している文字列を展開することができます。
以下の gif はトリガーである「new」を入力、選択し、コードを展開しています。
カーソル位置も入力が必要な箇所にフォーカスした状態で展開されていますね。
Snippet は使用するツールによって設定方法、使用方法が異なるため、Snippet 機能があれば率先して使って慣れてみるのがよいかと思います。

キーボードにこだわる

キーボードにこだわったからといって劇的に文字入力速度が向上するということはないですが、文字入力が楽しくなります。
文字入力が楽しくなると、必然的に文字入力数が多くなるので、速度、精度向上に繋がります。
私は Happy Hacking Keyboard を使い始めて約2年になりますが、未だに HHKB で文字入力する際の打鍵音、打ち心地にテンションが上がります。

また、良いキーボードは長く使えるため、コスパは良いです(キーボード沼にハマらなければ)。

アメリカ西部のカウボーイたちは、馬が死ぬと馬はそこに残していくが、どんなに砂漠を歩こうとも、鞍は自分で担いで往く。
馬は消耗品であり、鞍は自分の体に馴染んだインタフェースだからだ。
いまやパソコンは消耗品であり、キーボードは大切な、生涯使えるインタフェースであることを忘れてはいけない。
東京大学 名誉教授 和田英一
https://happyhackingkb.com/jp

テキストエディタの使い方を覚える

私はテキストエディタとして、Vim を使うことが多いです。
使用する理由としては文字編集に関して非常に優れているからです。
Vim の使い方だけで記事が書けるほど Vim は様々な使い方ができます。
この記事では一例としてマクロ機能を取り上げたいと思います。
Vim のマクロ機能を用いて

one	first example
two	second example
three	third example
four	fourth example

という文字列を

data = {
    'one''first example',
    'two''second example',
    'three''third example',
    'four''fourth example',
}

という形に編集したいと思います。
実際に編集している様子です。


Vim では自分の操作を記録させ、コマンドとして登録し繰り返すことができます。
この機能を利用することで一見すると編集が面倒な文字列を手数少なく、自分の意図した文字列に編集することができます。
gif では行数が少ないので効果が分かりづらいですが、編集対象の行数が多いと愚直に打ち込んだ場合との編集時間に大きな差が生まれます。
このようにテキストエディタには便利な機能が多く搭載されているため、テキストエディタの使い方を覚えることで文字編集を効率化することができます。

AZIK

AZIK は一般的な ISO 3602に準拠した入力方法ではなく、ローマ字テーブルを書き換えて日本語入力時の打鍵数を減らす入力方法です。
業務ではチャットを打つ、議事録を取る、資料を作成するなど日本語を入力する場面が非常に多いです。
日本語は基本的に1文字に対して2打鍵する必要があるため、英単語を打ち込むのに比べて時間がかかります。
AZIK を使えば1文字に対して2打鍵という概念を崩すことができます。
具体的には「しょうちしました」の7文字を打ち込むのにISO 3602に準拠の入力方法であれば、「shoutisimasita」と14打鍵する必要があります。
これが AZIK ならば「xptisimast」と10打鍵の入力で済みます。

打鍵数が通常のローマ字よりも約12%[*] 少なくなります。
http://hp.vector.co.jp/authors/VA002116/azik/azikinfo.htm

ISO 3602準拠の入力方法に比べ、打鍵数は12%少なくなるようです。
また入力ミスの多い「ん」は q で入力することができ、速さだけではなく、タイポも減らすことができます。
ただ注意点として AZIK に慣れすぎてしまった場合、共有 PC などで日本語を打ち込む際の効率は下がってしまいます。

公式サイトに書かれたローマ字テーブルを使用するだけでも日本語入力の効率化になるのですが、私は更に「よく打ち込んでいる文字」をピックアップし、短縮記法で打ち込めるように変更しています。
dotfiles で管理していますので、よければご覧ください。


Colemak Keyboard Layout

私は今まで Qwerty 配列を使用してきましたが常々、手の動きの非効率さに悶々としており、右手と左手の運指を考えたりする度にどうして「母音(aiueo)がこんなにバラバラで配置されているんだ…。」と思っていました。
そんな中、Dvorak 配列に出会い、私の Qwerty での運指常識が崩されました。
Dvorak 配列で文字を入力する度に Qwerty 配列がいかに指の移動距離が多かったかを思い知らされました。
ただ Dvorak 配列には大きな問題点があり、あまりにも Qwerty と配列が違いすぎるため Qwerty を前提として考えられたショートカットキーなどが使えなくなってしまったのです。
文字入力だけにフォーカスした場合は Dvorak 配列は確かに打ちやすかったですが、文字編集という意味では私の効率は大幅に落ちてました。
Dvorak 配列に転向して起きた問題点は以下のとおりです。

  • Qwerty 配列への入力が一切できなくなった

  • Qwerty 準拠のショートカットキーが使いづらくなった

  • Vim  が使いづらくなった

このような問題点があり、過去 2 度 Dvorak 配列への転向を試みたのですが、文字入力の快適さよりも PC 操作時のデメリットの方が大きくなってしまっていると感じ Qwerty に戻っていました。

ただ Qwerty 配列での文字入力時の「手のバタバタ感」への嫌悪感は持ち続けていました。
そんな中、出会ったのが Colemak 配列でした。

Colemak 配列は2006年に考えられたキーボード配列で Qwerty, Dvorak と比べると歴史は浅いです。
ですが、Mac, Linux には標準で搭載されており、界隈ではメジャーなキーボード配列と言えるでしょう。
キー配列を見ていただければ分かるかと思いますが、下段のキー配列が Qwerty 配列とほとんど同じです。
これは Qwerty 配列向けに考慮されたショートカットを Qwerty 配列を使っているときと同じように使用することができます。

https://www.slant.co/topics/512/~best-keyboard-layouts-for-programming

英単語入力で頻出するキーをホームポジションに集約しているため、「手のバタバタ感」を感じることなく文字を入力することができます。
英単語入力時の左手、右手の割合ですが Qwerty (L 65.5/ R 34.5) に対して Colemak (40.2/59.8) と Qwerty に比べてリズミカルに入力できます。

Colemak 配列に転向して1ヶ月半ほど経ちましたが、Qwerty と変わらないスピードで入力できており、タイポの少なさ、手の疲れにくさを実感できています。
Dvorak 配列転向時と大きく違う点は Colemak 配列が染み込んだ現在でも多少もたつきながらでも Qwerty 配列を入力することができるという点です。
Dvorak 配列の時のように Qwerty 配列の入力に怯えなくともよいのは本当に素晴らしいと思います。
Vim キーバインドに関しても慣れてしまえば特にストレスなく転向することができました。

You'd might want to remap the AltGr sequences to punctuation symbols you use often.
https://colemak.com/FAQ

また、公式にも書かれているのですが Colemak 配列の AltGr キーを Mod キーとして記号入力も効率化しています。
Mac では Karabiner、Linux では Xmodmap を使用しています。
詳しくは dotfiles を見ていただければと思います。


Colemak 配列に限らず、Qwerty 配列からの転向時には一時的にですが文字入力の効率が大きく落ちるので、転向時期は慎重に選んだ方が良いです。
できれば連休時に転向してひたすらタイピングしまくりましょう。

まとめ

自分がおこなっている文字入力の効率化を記事化することで、普段実践していることを整理するよいきっかけになりました。
今後も文字入力の効率化については思考停止せず考え続けていければなと思っています。

この記事が気に入ったらサポートをしてみませんか?