« 【Emacs】 カーソル位置の単語や文章をバッファに格納 | トップページ | 【Emacs】 改行時のインデント »

【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):

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

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

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

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の世界も奥が深いですなぁ。

« 【Emacs】 カーソル位置の単語や文章をバッファに格納 | トップページ | 【Emacs】 改行時のインデント »

Emacs」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 【Emacs】 テーブル編集:

« 【Emacs】 カーソル位置の単語や文章をバッファに格納 | トップページ | 【Emacs】 改行時のインデント »