テーブルタグ一式をすばやく・ラクに入力するためのスニペットサンプル

テーブルタグの入力を高速でできるようにしたいと思い、アイデアを整理してまとめてみました。
Visual Studio CodeなどのコードエディタであればEmmetが使えますが、Emmet非対応のテキストエディタやブラウザ上でのことを考えると、やはりスニペットになります。
スニペットに関する考え方は過去に記事にしているのでそちらをご覧ください。
今回の記事では、スニペットアプリはDashを使うことを想定しています。
前提の考え方
ルールを決めて、全てのパターンを片っ端からスニペットに登録していくのは面倒ですし、1度も使わないスニペットが量産されてしまいます。
そこで、ルールはかなりしっかり決めますが、すべて登録はせずに使うタイミングになって「あ、まだこれ登録してないんだ」となったら登録します。
これを繰り返していくことで徐々によく使うテーブルタグの入力がラクになっていきます。
テーブルタグのルール
まず最初にテーブルタグであると分かるためにt(tableの頭文字)を接頭辞として入力するようにします。
そのあと、列数 → 行数の順に数字をx(エックス)区切りで入力します。これは乗算記号に見えるのと、キーボードの位置的にも押しやすいからです。
そして最後に接尾辞(自分の場合はセミコロン2つ;;)を入力します。
例として「t3x2;;」とすると下記のテーブルタグが入力されます。
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>ExcelやGoogle Spreadsheetが、列(横の数)を選んでから行(縦の数)を選ぶので、同じように「列数×行数」に揃えました。
thに対応させる
このままだと<td>タグだけになってしまうので、<th>にも対応させたくなってきます。
数字を<th>の数と<td>の数でハイフン区切りにします。
例として「t1-2×2;;」の場合は列の方が最初の1つが<th>で2つ<td>となります。
<table>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
</table>全部<th>にしたい場合は「3-0」のようにします。
theadとtbodyとtfootに対応させる
今度はtheadとtbodyにも対応させたくなりました。
括弧内にそれぞれ頭文字の「h(thead)」「b(tbody)」「f(tfoot)」を入力して区別できるようにします。
例として「t(h3-0x1)(b1-2×2)(f3x1)」とした場合は下記のようになります。
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>少し複雑になってきましたが、文字列を見てどんなテーブルが展開されるかはある程度分かります。
最初にも説明した通り、あらゆるパターンを作るというよりも、ルールだけきちんと整理しておいて、あとはそれに従ってよく使うものを登録して使います。
また、このレベルのテーブルであれば、入力して展開するよりもDashで検索して展開する方がラクです。
Dashで検索するときに、ルールに従って絞り込むと効率よく展開ができます。



Backlogの課題期限をカレンダーアプリのFantastical 3に表示させる方法
テキストエディタのAtomをインストールしたら最低限設定しておきたいアレコレ
コーディング初心者が入力ミスを減らすためにできる設定
CPUの温度が熱すぎるのを防ぐMacのファンコントロールアプリ
Drive File StreamでGoogle Driveをローカル容量を圧迫せずにファイルを閲覧する
AlfredのTerminal機能を使って、すばやくターミナルコマンドを実行する
Path Finder 8でブックマークバーにフォルダやアプリケーションを設置して使用する
BetterTouchToolでトラックパッドやタッチバーにアクションを割り当てる
Path Finder 8のウインドウにターミナルを追加して使用する
Macのアプリインストールとアンインストール方法まとめ
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う