【Emacs】 テーブル編集

Emacsの編集機能はめっちゃ強力です。
プログラムを書いてるとコメントとかに表組みを書きたくなったりします。ステートマシンとか真理値表とか書きたいですからなぁ。そんな時にアスキーアートを使って表を作るんやけど、いちいちキーボードから入力してたら埒があかないです。そんな時に使える機能の紹介。

任意のバッファの任意の位置で以下のコマンドを実行します。

M-x table-insert

そうすると、ミニバッファに

Number of columns (default 3):
Number of rows (default 3):
Cell width(s) (default 5):
Cell height(s) (default 1):

が順番に聞かれます。それぞれの意味は見ての通り

  • 横方向のセル数
  • 縦方向のセル数
  • セルの横幅
  • セルの縦幅

全てのパラメータを入力するとカーソル位置に表が表示されます。通常は表の中に文章を書くと表を壊してしまうのですけど、テーブル編集モードでは自動的にテーブルの枠を拡張してくれます。おかげで表を壊す心配なく表がかけるので、めっちゃ便利。[E:happy01]
記入が終わったら、そのままファイル保存しても良いのだけどテーブル編集モードを解除するために

M-x table-unrecognize-table

を実行しましょう。これで、カーソル位置のテーブルがテーブル編集モードから抜け出ます。再度テーブル編集モードに入る時はテーブルの位置にカーソルをもっていって、

M-x table-recognize-table

でOKです。この仕組みをつかうと、一つのテキストファイルの中に複数のテーブルがあってもうまく動作します。良くできてるよなぁ・・・(しみじみ)

さて、あとは色々とコマンドを紹介しておきますかな。

C-> (table-widen-cell)
    カーソル位置のセルを横拡張
C-< (table-shorten-cell)
    カーソル位置のセルを横収縮
C-: (table-justify)
    セル中の文字列の位置を操作(Left/Center/Right)
    縦方向・桁方向の両方が可能
table-split-cell
    セルの分割
C– (table-split-cell-vertically)
    セルの横分割
C-| (table-split-cell-horizontally)
    セルの縦分割
C-* (table-span-cell)
    セルの結合

これ位あれば十分やね。セルの分割・結合ができるからエクセルよりも簡単に表が作れる気がする。

Emacsの世界も奥が深いですなぁ。

Author: kan
初めてプログラムらしきものを作ったのは幼稚園の時。それから約40年経ち、現在はデジタル回路設計から信号処理、機械学習まで幅広い経験を活かしてシステムアーキテクトとして活動中。超並列処理、デジタル回路とソフトウェアのバランス設計が得意分野。 Linux/Mac/Windows使い。 C/C++を主要言語として、Unity、Qtなどのフレームワーク興味あり。UI/UXデザイン、STL拡張など。 音声処理、画像処理、技術コンサルは仕事でも請け負います。 一般ソフトウェア開発プロセス、医療機器ソフトウェア開発プロセス作成も進行中。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください