[Emacs]artist-modeでAA(アスキーアート)やUML

Emacsにはアスキーアートを書きやすいフリーカーソルのモード「picture-mode」があり、より図を書きやすい「artist-mode」があります。この記事はそれらのメモを書いています。

  • C-h mでヘルプ
    • M-x artist-mouse-choose-operation
  • 3マウスボタンの中ボタンでメニュー
  • Enterキーでペンのオン/オフ
  • 中クリックでcutを選んだら、左ドラッグで選択、左クリックで貼りつけ
  • マウスカーソルでクリックした箇所から描けますが、カーソルキーで移動する場合には行に何かしら文字か、改行がないとその行に移動できないので、カーソルキーで描く場合には先にある程度改行を入れておきましょう。
  • キーバインバインディング
    • オン
      • なし
    • オフキー
      • なし
      • M-x artist-mode-off
    • erase
      • なし
  • グリッドが欲しい
    • Emacsにはグリッドは標準にはない

その他

  • テキストがある箇所にはカーソルキーで移動できない(?)
  • 位置の調整の別のやり方案
    • C-x SPCで矩形選択して位置を調整
  • カーソルはC-p C-f C-n C-bで移動

参考サイト

キーバインディングのlisp

F1キーでモードが変わります。
C-x lでline、C-x C-l sでstraight line、C-x rでrectangle、
C-x eでerase、C-x C-e rでrectangle erase、
C-x cでcopy、C-x xでcut、C-x vでpasteです。
(参考 プログラマーズ雑記帳 - キーバインディング - 環境設定のための Emacs Lisp 入門)

(defun my-artist-mode-init ()
  (local-set-key [f1] 'artist-mode)
  (local-set-key (kbd "M-l") 'count-lines-page)

  (local-set-key (kbd "C-x l") 'artist-select-op-line)
  (local-set-key (kbd "C-x C-l s") 'artist-select-op-straight-line)
  (local-set-key (kbd "C-x r") 'artist-select-op-rectangle)

  (local-set-key (kbd "C-x e") 'artist-select-op-erase-char)
  (local-set-key (kbd "C-x C-e r") 'artist-select-op-cut-rectangle)

  (local-set-key (kbd "C-x c") 'artist-select-op-copy-rectangle)
  (local-set-key (kbd "C-x x") 'artist-select-op-cut-rectangle)
  (local-set-key (kbd "C-x v") 'artist-select-op-paste)
)

(defun my-text-mode-init ()
  (local-set-key [f1] 'artist-mode)
)

(global-set-key [f1] 'artist-mode)
(add-hook 'text-mode-hook 'my-text-mode-init)
(add-hook 'artist-mode-hook 'my-artist-mode-init)

コメントをどうぞ

メールアドレスが公開されることはありません。