モーレツ! Org mode 教室 その2: まとまった文章を書く


もくじ

前回も書いたように、Org modeは機能が増えすぎて今やなんだか訳のわからないものになっているが、本業はあくまでアウトライン・プロセッサ(英語圏ではアウトライナーと言うらしい)であって、アウトラインで構造化された文章を書くための道具として開発されたのである。

アウトラインとは、大ざっぱに言ってしまえば見出しのことで、大見出しで大まかな話、中見出しで少し細かい話、小見出しで詳細…という具合に、見出しの階層と内容の細かさを対応させて整理された文章を書く、というのがアウトライン・ライティングの狙いであった。Org modeには、このための支援機能が大量に備わっている。

追加の設定

Org modeは、.orgというという拡張子のついたファイルを開くと自動的に有効になる。まあ、M-x org-modeを実行すればどのバッファでも有効になるので、どうでもいいとも言えるが。

好みによるのかもしれないが、Org modeで長い文章を書く場合、~/.emacs.d/init.el

(setq org-startup-truncated nil)

を入れたほうがよいのではないかと思う。これは行の折返し(line wrapping)の設定で、Org modeはデフォルトでは行を折り返さないのである。手で適当に改行して一行を短くするか、適宜M-qで段落を詰め込めばよいのだろうが、私の場合だらだら改行を入れずに書いていくことが多く、カーソルがどんどん右に移動して文章の最初のほうが見えなくなると不便なので、ウィンドウの幅で折り返してくれたほうがありがたい。ただ、表の編集で問題が出る可能性はある。

アウトラインの操作

さて、前回書いたメモを保存したnotes.orgファイルを(Emacs以外のエディタで)覗いてみれば分かるが、.orgファイルというのは実のところ単なるテキストファイルで、*が見出しの印になっている。*の数が増えれば増えるほど階層が下になる。

* 大見出し

かくかくしかじか

** 中見出し1

あれやこれや

*** 小見出し1

うんぬんかんぬん

** 中見出し2

foo

*** 小見出し2

bar

上の例の場合、大見出しの下に中見出し、中見出しの下に小見出しがあり、各見出しの下に本文がある。階層に制限はなく、いくらでも*を増やすことができる。そして、*のある行でTABを押すと、その見出しよりも下の階層が折り畳まれて見えなくなる。折り畳まれていることは見出し末尾の...の有無でわかる。上位の見出し上でTABを何度か押すと折り畳み具合が変わる。言葉で書くとややこしいが、やってみればすぐ分かるだろう。

まっさらな状態でM-RET(RETはReturn/Enterキー)を打つと、*が挿入される。その時点で最上位の階層の見出しが入力できるようになるわけだ(もちろん、*の下であれば**が挿入される)。すでにある行を見出しにする(ようするに行頭に*を挿入)には、C-c *である。これはトグルになっているので、もう一度押すと元に戻る。別に、手でアスタリスクを書いたり消したりしてもいいのだが…。

行頭に一つでも*があれば、M-矢印キーで階層を動かすことができる。M-右矢印で階層が下に(*が一つ増える、例えば大見出しが中見出しになる)、M-左矢印で階層が上に(*が一つ減る)ということになる。また、SHIFTキーも押してM-S-矢印にすると、その見出し以下の階層すべてが動く。これも言葉で書くとピンとこないかもしれないが、やってみればすぐ分かる。

もう一つ重要なのが、サブツリー(見出しツリー)単位でのカット&ペーストだ。サブツリーというのは、ようするにある見出しからその下の階層すべて、ということだが、カットがC-c C-x C-w、ペーストがC-c C-x C-yである。上の例だと、中見出し1の上でC-c C-x C-wを叩くと、中見出し1と小見出し1がセットで切り取られる。これにより、見出しの組み換えや、後で出てくるメモの切り貼りが簡単にできるようになる。三連続の打鍵てなんだよ、覚えられねえよという向きもあるだろうが、多用するのですぐ覚えるだろう。

あとは、C-c C-nnextなので前進)とC-c C-p(previousなので後退)で見出しから見出しへジャンプできることを覚えておくとよい。

他にも様々なキーバインドがあって、それはThe Org Manual: Structure editingを読めば分かるが、当面必要なのはこれくらいだと思う。

Org-refileの設定

前回説明したOrg-captureによるメモ取りをアウトライン・プロセッシングと組み合わせるには、Org-refileの設定をしておくと便利である。refileというのは、あるファイルの一部を、見出しツリー単位で他のファイルの見出しの下にリファイル(移動)するという機能で、これを使えばnotes.orgに記録したメモを簡単に他のファイルへ移すことができる。

最低限必要な~/.emacs.d/init.elの設定は

(setq org-agenda-files '("~/ownCloud/Org"))
(setq org-refile-targets '((org-agenda-files :maxlevel . 3)))

である。org-agenda-filesという変数名に変な感じがするかもしれないが、これは、後で説明するOrg-agendaという機能と共用しようと思っているからで、ようするにOrgディレクトリの中のファイルすべてを対象にする、ということだ。重要なのはその次のorg-refile-targetsで、Orgディレクトリ以下の.orgファイルに関し、maxlevelが3階層目、すなわち***の見出しまでを移動先として選べるようにするという指定である。

このように設定し、Orgディレクトリに.orgファイルを入れておけば、見出しの上でC-wを押すと、Refile subtree "指定した見出し" to (default 他のファイルの見出し(other.org)):みたいなメッセージがミニバッファに出ると思う。ここで他のファイルの中の見出しを指定してやれば、そこの下へ今C-wを叩いたサブツリーが一発で移動するのである。このように、Org-refileをうまく使うとファイル間で見出し項目の移動が素早くできるようになる。

ちなみに、すでにいじらないことがほぼ確定している.orgファイルがあると移動先として見えてしまってうざったいので、そういう場合はOrgディレクトリから消すか他へ移動するか、あるいはC-c $でアーカイヴ化するとよい。アーカイヴ化というと大層に聞こえるが、基本的には拡張子を.orgから.org_archiveに変えているだけである。

また、私自身は使っていないが、別に.orgファイルをOrgディレクトリ以下に置かなくても、org-refile-targets周りに少し手を加えて

; cf. https://www.emacswiki.org/emacs/OrgMode#toc21
(defun mhatta/org-buffer-files ()
  "Return list of opened Org mode buffer files"
  (mapcar (function buffer-file-name)
      (org-buffer-list 'files)))
(setq org-refile-targets
      (quote ((nil :maxlevel . 3)
          (mhatta/org-buffer-files :maxlevel . 1)
          (org-agenda-files :maxlevel . 3))))

などとすれば、現在バッファで開いている.orgファイルであれば、Orgディレクトリ下になくともリファイル先に指定できるようになる。

Org-refileについて更に細かく知りたい人は、The Org Manual: Refile and copyを読むと良いだろう。

具体的なワークフロー

以上のような設定をしておくと、次のようなワークフローで文章を書くことができるようになる。日本語のアウトライン・プロセッシングの解説書は、読んで見るとなんだかやたらややこしいというか、そういう機能があることは分かったが具体的にどう使ったらいいか分からないというか、しまいには人生訓みたいな話になって困惑することもあるのだが、これは比較的実用的だと思う。

  1. 原稿の.orgファイルをOrgディレクトリ以下に用意する。そうすればOrg-refileの対象になる。

  2. とりあえずM-RETを打って見出しを一つ用意し、文章のタイトルでも書く。* 文章のタイトルといった具合。一応文章全体が一つの見出しの下にあったほうが管理がしやすいと思う。実質的な見出しは**からということですね。

  3. 見出しのことなどはあまり考えず、とにかく思いつくことを、一行ずつ空けて単語や文章でがーっと列挙する。だらだらやっても限界があるので、5分とか時間を切ってやるとよい。

  4. あとは、C-c *等を使ってこれはというものを見出しにし、階層を変えたり順序を組み替えたりして、仮の目次というかアウトラインをでっちあげる。最初のアウトラインにこだわってもしょうがないというか、どうせ書いている最中に大きく変わるに決まっているので、あまり時間をかけるべきではない。3のアイデア出しも含めて、1ポモドーロ(25分)を超えると長すぎると思いますね。ちなみにこのブログ記事のアウトラインは、元は
    * アウトライン・プロセッサとしてのOrg mode
    
    ** キーバインド
    
    ** メモとの連携
    
    ** Org refile
    
    ** まとめ
    
    * 未整理
    

    みたいな感じだった。

    ポイントは、「未整理」という項目を用意することである。別に名前は「未整理」でなく、「メモ」でも「雑」でもなんでもよいのだが、本来の目次とは無関係な、一時バッファ的なものを末尾に置くわけです。notes.orgに保存したメモよりも上の階層の見出し(上の例では**ではなく*)が良い。

  5. あとは、書けるところから書く。途中で何か思いついたら、前回紹介したOrg-captureでメモをとる。文章を書いていると全然関係ないことを思いつくというか、むしろとりあえず書き始めないと何も思いつかないというところがあるので、とにかく書いてどんどんnotes.orgに保存していく。

  6. 行き詰まったらC-M-^でメモを呼び出して眺める。これは、というものがあったらOrg-refileで原稿の.orgファイルの「未整理」以下にリファイルする。

  7. 見出し「未整理」の内容を検討し、本文に移したり、見出しを組み替えたり、あるいは無関係なので未整理から追い出してnotes.orgに戻したり、といった検討作業を行う。トップダウンででっちあげたアウトラインを、ボトムアップで集めたメモで補ったり変更したりして煮詰めていくわけだ。

  8. ある程度アウトラインが定まったら、本格的に書いて、まとめて、仕上げて終わり。もちろんこの段階で構成を組み替えたって一向に構わない。

こんな具合でOrg modeを、アウトライン・プロセッサとして活用してやれば、Org modeも以て瞑すべし、ということになるんじゃないでしょうかねえ。

 

モーレツ! Org mode 教室 その1: 素早くメモを取る


もくじ

Org modeとは

わたくしは元々EmacsVimも、Visual Studio Codeすらも使う(GNU/Linux上でも案外ちゃんと動くので)いい加減な人間なのだが、最近ではEmacsを使う頻度が上がっている。というか、最近はEmacsしか使っていない。それは主にOrg modeのせいである。

Org modeというのは、もともとアウトラインプロセッサを提供するEmacsの拡張機能のようなものとして開発されたらしいのだが、その後建て増しに建て増しを重ねた違法建築みたいなことになっていて、本業のアウトラインプロセッシングはもとより、メモ取りも日記もTODO管理もスケジュール管理も進捗管理も時間管理もプレゼンスライド作りも表計算も図の作成も貼ったコードの実行もできるようになり、さらにOrg modeを拡張する拡張機能というのも大量に開発されているので、途方もない代物になっている。今やEmacsはテキストエディタではなく、Org modeのフロントエンドと考えたほうが良いのではないか。

とはいえ、何でもできるというのは、何をやらせたらよいのかわからないというのと同義であって、私自身も10年くらい前に一度試して挫折したのだが、とっかかりとしてOrg modeを用いたメモ取りから始めるとスムーズに使い始められるように思う。最近Org modeについて人に説明する機会があったので、とりあえずメモ取りのやり方から書いてみよう。

Emacsのインストール

その前に、Emacsのインストール方法を手短に。

GNU/Linuxの場合、大概のディストリビューションにはEmacsが入っていると思うので、それをインストールすればよい。

Windowsの場合、公式ビルドは最新のEmacs 26.1でも普通にIME経由で日本語入力できないので(最低限のパッチをupstreamへ入れてもらったので次のリリースで直る予定)、いわゆる日本語IMEパッチを当てたビルドを探して入れるとよい。私が用意しているものもある。

Macについては良く知らないが、HomebrewやMacPortsからインストールできるようだし、Emacs For Mac OS Xというのもあるようだ。

Androidの場合、端末エミュレータのTermuxを入れてその上でEmacsをインストールするのが一番簡単だと思う。以前書いたAndroid上でEmacsをまともに使うにはを参照してやってください。

すでにEmacsがインストールされている場合、バージョンがやたら古い場合があるので、最低でもEmacs 25以上が入っていることを確認すると良い。EmacsのバージョンはM-x versionで調べられる。なおM-xというのはMetaキーを押しながらxを押す(と「ミニバッファ」という下のバッファにカーソルが移ってコマンドが入力できるようになる)ということで、GNU/LinuxやWindowsではMetaキーはふつうAltキーだが、MacではOptionキーなんですかね?ちなみに、C-xというのはCtrlキーを押しながらxを押すという意味である。

GNU/Linuxの場合は気にしなくて良いが、Windowsの場合、ホームディレクトリをWindowsの環境変数HOMEで指定しておくと何かと便利である。C-x C-fを押してミニバッファに~/と書き、タブキーを2回押す(文章で書くとなんだかやたら複雑なことをやっているようだが、ホームディレクトリ(~/)にあるファイルを開くべくファイラのDiredを実行しているだけ)と、現時点でのホームディレクトリがどこか見当がつくので、そこが気に食わない場合は自分でHOMEに指定するとよい。ここの下に設定ファイル(~/.emacs.d/init.el)を置くことになる。Windowsのユーザディレクトリに合わせるのが無難なので、おすすめはC:\Users\ユーザ名とかでしょうか。

Emacsの本当に最低限の設定

Emacsの設定は、凝り始めると際限なく出来て泥沼にはまるので、この段階では極力最低限に留めたい。そういう意味では、日本語をUTF-8で使うための最低限の設定として、~/.emacs.d/init.el(あなたがたのような老害は~/.emacsとか~/.emacs.elに設定を書いていると思うが、最近のナウいヤングはこちららしい)に

;; 日本語環境の設定

(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)
(set-default 'buffer-file-coding-system 'utf-8)

あたりを入れておけばよろしいのではないでしょうか。なお;はEmacs Lispにおけるコメント行の指定である。

もう一つ頭が痛いのがフォントの設定で、正直未だによく分からないのだが、とりあえず英数字はConsolasフォントが気に入っているので、Windowsでは

;; Windowsにおけるフォントの設定(Consolasとメイリオ)
(when (eq system-type 'windows-nt)
  (set-face-attribute 'default nil :family "Consolas" :height 110)
  (set-fontset-font 'nil 'japanese-jisx0208
                    (font-spec :family "メイリオ"))
  (add-to-list 'face-font-rescale-alist
               '(".*メイリオ.*" . 1.1))
  )

GNU/Linuxでは

;; GNU/Linuxにおけるフォントの設定(IncosolataとIPA exGothic)
(set-frame-font "Inconsolata-14")
(set-fontset-font t 'japanese-jisx0208 (font-spec :family "IPAExGothic"))

にしている。WindowsのConsolasとメイリオは標準でインストールされているが、GNU/LinuxではConsolasのぱちもんのInconsolataIPA exフォントを自分でインストールする必要がある。たぶん今では大概のディストロでパッケージ化されていると思うが…。ちなみにDebian/Ubuntuならfonts-inconsolatafonts-ipaexfontをインストールすればよい。

なお、Androidは何も指定せずTermuxのデフォルト任せである。Macは想像もつきません。

Org modeのアップデート

Org modeは今やEmacsに標準添付なので、Emacsを入れれば自動的に付いてくるのだが、バージョンがやや古く、Org modeへの拡張機能が動かなかったりすることもある(例えばOrg-journalはOrg 9じゃないと動かないみたい)。なので、手でアップデートしておくと良い。現在の最新は9.1.13で、まあ9.xならだいたい大丈夫じゃないでしょうか。

最近のEmacsはpackage-elという拡張パッケージ管理機能を標準で持っているので、M-x list-packagesから一覧形式でorgを探してその上でI、次いでxを押してインストールするか、M-x package-install orgで直接インストールすると良い(最新安定版のorgは標準のgnuレポジトリにあるので、とりあえずこの時点ではMELPA等を自分で指定しなくても大丈夫なはず)。

ちなみに、最近だとEmacsのelispパッケージ管理は、私も含めてたぶんCask(とPallet)を使っている人が多いと思うのだが、Pythonを入れなければならなかったり、説明がめんどくさいので、興味がある人は自分で調べてください。package-elはGNU/LinuxだろうがWindowsだろうがMacだろうがAndroidだろうが動作するはずで、このマルチプラットフォーム性も今どきのEmacsのメリットの一つである。package-elで入れたパッケージを、後からCaskの管理下に移すこともできる。

Org modeの本当に最低限の設定

Org modeの設定もまた泥沼になりがちで、とにかく極力最低限にしたい。どうしても指定しなければならないのはOrgファイルのありかで、

;; Org modeの設定

; ファイルの場所
(setq org-directory "~/ownCloud/Org")
;(setq org-directory "~/Dropbox/Org")
(setq org-default-notes-file "notes.org")

とか指定する。DropboxやownCloudのようなクラウドストレージにOrgディレクトリを作って指定するのがおすすめで、これにより複数環境で簡単にメモを同期できるようになる。Android上のTermuxの場合、Androidのバージョンや外部SDカードの有無、Dropbox等アプリのバージョンによってファイルが置かれる場所が違うらしく一概には言えないようだが、オフラインでもアクセスできるよう設定すればどこかにはあると思うので、そのパスを指定してやればよい。私の以前の記事のようにtermux-setup-storageを実行していれば、~/storage/shared/Android/data/com.dropbox.android/files/なんとか/かんとか/Orgとかでアクセスできるのではないかと思う(ただ、リアルタイムで同期されず不便なので、私自身は使っていない。何かうまい手はないかねえ)。

メモを取る

いよいよ本題である。わたくしは頭が弱いので、何かを思いつくとすぐ忘れてしまう。なので、思いついたらとにかくすぐに書き留めなければならない。そこで手元に紙とペン(というか鉛筆)が欠かせなかったのだが、Org modeのおかげで、とりあえずコンピュータの前にいるときだけは、ようやく紙のメモとおさらばできたのである。

で、そのOrg modeのメモ取り機能がOrg-captureだ。先述の通り、現在のOrg modeには意味不明なくらいに様々な機能が盛り込まれているのだが、別に機能があるからといって使わなくてもいいので、私などは多分Org modeの使用時間の80%くらいはOrg-captureだと思う。

Org-captureの設定だが、とりあえずは

; Org-captureの設定

; Org-captureを呼び出すキーシーケンス
(define-key global-map "\C-cc" 'org-capture)
; Org-captureのテンプレート(メニュー)の設定
(setq org-capture-templates
      '(("n" "Note" entry (file+headline "~/ownCloud/Org/notes.org" "Notes")
         "* %?\nEntered on %U\n %i\n %a")
        ))

とかでよろしいのではないかと思う。最初はOrg-captureを呼び出すキーシーケンスの設定で、ようするにC-c c(Ctrlを押しながらc、その後Ctrlを押さずにc)である。C-cプラスなんとかはユーザが設定できるよう予約されているので、好みでc以外に変えても良いが、まあこれが一番素早く打てるシーケンスじゃないでしょうか。

で、このように設定すると、とにかくEmacsの中にいれば、C-c cを押すといつでもメニューが出てくる。ここで、nを押してやると~/Dropbox/Org/notes.orgにメモが書け、C-c C-cを押すと保存されて元のバッファに戻る(保存せずに捨てたければC-c C-k)という寸法になっている。nというキーやメモを保存するファイル名がどこで指定されているかは見ればだいたい見当がつくと思うが、file+headlineだの%?だのに関しては後回しにしましょう。

メモを見る

書いたメモはさっとすぐに見たいのである。

; メモをC-M-^一発で見るための設定
; https://qiita.com/takaxp/items/0b717ad1d0488b74429d から拝借
(defun show-org-buffer (file)
  "Show an org-file FILE on the current buffer."
  (interactive)
  (if (get-buffer file)
      (let ((buffer (get-buffer file)))
        (switch-to-buffer buffer)
        (message "%s" file))
    (find-file (concat "~/ownCloud/Org/" file))))
(global-set-key (kbd "C-M-^") '(lambda () (interactive)
                                 (show-org-buffer "notes.org")))

とか~/.emacs.d/init.elに書いておくと、Ctrl-Meta-^を同時に押せばすぐに~/ownCloud/Org/notes.orgを開くようにできる。* Notes...のように...が付いている見出しは、その行でTABキーを押すと開閉されてその下の内容が見えたり見えなくなったりするようになる。見終わったらC-x 左矢印で元いたバッファに戻れるはず。

notes.orgの中を覗いて見ればだいたい分かると思うが、Orgが管理するファイル(拡張子が.org)は実体はテキストファイルで、*の数で階層付けがされている。先ほどの(file+headline "ファイル名" "Notes")というのは、ファイルの中の* Notesという項目のひとつ階層下に** メモのタイトルという感じで追記しろ、という指定であった。これも実は好きに変えられるので、もっと知りたい人はThe Org Manual: Template elementsを見るとよい。

%?だの%UだのはThe Org Manual: Template expansionに詳しい説明があるが、ようするに\nは改行、%?はOrg-captureのバッファを開いたときのカーソルの位置、%Uはタイムスタンプ、%iC-c cを叩いたときに選択されていたリージョンの内容、%aC-c cを叩いたときに開いていたファイルへのリンク(本当はorg-store-linkで保存されたリンクだが)で、リンクの上でC-c C-oを押すとリンク先のファイルを開くことができる。まあ%iとか%aはオプション的なので指定しなくても良いし、全て自由に変えて構わない。例えば、メモなのでタイムスタンプだけでいちいちタイトルをつけなくて良い、という場合は、%?の位置を変えて* %U\n%?とかにしてやればよいのである。

まとめ

というわけで、以上のようにあれやこれやと設定すると、

  1. とにかく何か思いついたらC-c cn→何か書く→C-c C-cで保存
  2. C-M-^でメモを見る

でいつでもメモを取ったり見たりできるようになる。C-c c nは手に馴染むので、そのうち何も考えずにメモが取れるようになるだろう。これだけでもOrg modeが使えてよかったという気になりませんか。ならないか。ひとまずおわり。

 

Android上でEmacsをまともに使うには

AndroidタブレットでEmacsが使いたかったのだが、ネットで調べてみるとどうも情報が錯綜というか、古い情報が多くて困る。例えばGoogle Playアプリストアで検索すると、EmacsをAndroidに移植したemacs-androidが見つかるのだが、不安定だし日本語使えないしそもそも2012年から更新されていない。SSHで外のサーバに接続し、そこでEmacsを起動するという手もあるが、当然オフラインでは使えない。

そんなわけでしばらく試行錯誤した結果、2017年8月現在それなりに(というかほぼ完璧に)使い物になると私が思うEmacs on Androidの運用環境は以下の通りである。

Termuxを入れる

TermuxはAndroid上で動く端末エミュレータ(root不要)だが、APTベースのパッケージ管理システムを備えていて、大概のものはパッケージ化されている。zshもあるしsshもあるしgitもある(現在用意されているパッケージの一覧)。ghcがあれば最高だったのだがとりあえずclangやpythonはあるし、texliveすらある。vimが使いたいならvimもある。そして、emacsもある!

なので、termuxを入れて

$ apt-get update; apt-get upgrade; apt-get install emacs

基本的にはこれでおしまい。Emacs25がちゃんと動く。良い時代になりましたねえ。

Hacker’s Keyboardを入れる

細かい補足をすれば、Androidのソフトウェア・キーボードはCtrlやAltがないことが多いので、Bluetoothなどで外部キーボードを接続していない場合、C-x cとかが打てなくて詰むことになる。これに関しては、Hacker’s Keyboardをインストールすればよい。まあ、どのみちハードウェア・キーボードはほぼ必須ですけどね。

SKKを入れる

Termux上のEmacsへの日本語入力は普通にAndroidのIMEを使って行えるが、個人的にはSKKを使うのがきびきびしていて良いと思う(まあ私が元々SKKに慣れているということもあるが)。ddskkがMELPAでパッケージ化されているので、~/.emacs.elに

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

などと書いてM-x package-install ddskkでインストールできる。設定はHow to install DDSKK using MELPAを参照。

ファイルの扱い

ファイルシステムはTermux内で閉じているが、

$ termux-setup-storage

を実行すると、~/storage以下にAndroid側のストレージ・ディレクトリへのリンクが張られるので、ここにファイルを置いてやればAndroid側とファイルのやりとりをするのは容易だ。ちなみに外部microSDカード等は、~/storage/external-1といった感じで見える。

というこの記事(の下書き)を、今まで述べたセッティングで特急レッドアローの狭いテーブルの上で書いたのだが、なかなか快適だった(揺れるけど)。ちなみに外部Bluetoothキーボードは、まあまあまともな配列とキーピッチで、しかもしっかりしたタブレットスタンドを内蔵しているELECOMのTK-FBP069BK がおすすめである。販売終了になってしまったようだが、Amazon.co.jpならまだ買える。

【2014年モデル】ELECOM Bluetoothキーボード Windows・Android対応 9台切替 86キー ブラック TK-FBP069BK