Ubuntu Weekly Recipe

第25回メモを取る

デスクトップ環境を日常的に利用していく場合、ちょっとした情報や作業のメモを取る必要が出てきます。ですが、何も考えずにファイルを作成していくと、どのメモがどこにあるのかが分からなくなり、結局メモを取った意味がなくなってしまいます。今回は、こういった場合に役立つレシピを紹介します。

Tomboy

Ubuntu環境では、メモを取るためにTomboyというアプリケーションがインストールされています(⁠⁠アプリケーション⁠⁠→⁠アクセサリ⁠⁠→⁠Tomboyメモ⁠⁠。TomboyはWikiに近い発想で作成されたソフトウェアで、大量のメモを書き散らしながら使っていくのに向いています。

Tomboyの最大の特徴は、ファイルの保存が自動的に行われることと、検索を前提にしたインターフェースです。

Tomboyを起動すると図1のようなメイン画面が表示されます。右側のペインには作成したメモの一覧が表示されているはずです。

図1 Tomboyのメイン画面
図1 Tomboyのメイン画面

[ファイル⁠⁠→⁠新規作成]でメモを作成できますので、何かメモを書いてみましょう。1行目に記述されたテキストは暗黙でメモ名として扱われます図2⁠。

ある程度テキストを書いてみたら、そのメモを閉じてみてください(⁠⁠Alt]+[F4⁠⁠。前述の通り保存は自動的に行われますので、明示的にファイルに保存する必要はありません。

図2 メモの作成
図2 メモの作成

何枚か適当なメモを書いたら、メイン画面の「検索」エディットボックスに何か文字列を入力してみてください。作成したメモのうち、検索文字列がヒットするものだけが表示されるはずです図3⁠。

図3 メモの検索
図3 メモの検索

Tomboyの使いこなし方の詳細は、Tomboyのヘルプを参照してください。

なおTomboyの作成したメモファイルは、~/.tomboy以下に保存されています。各メモは.noteファイルにXML形式で保存されています。

ただしTomboyを使う問題として、これらのXMLファイルをTomboyの外から、つまり別のアプリケーションから扱うことができないことがあります。もし複数のアプリケーションからメモを活用したいのであれば、Tomboy以外の方法を検討した方が良いでしょう。

テキストファイルでメモを取る

Tomboyを使わずにメモを取る方法のうち、もっとも簡単なのは、geditなどのテキストエディタを用いてテキストファイルに記述することです。テキストファイルでメモを取ることで、特定のアプリケーションに依存することはなくなります。文字コードさえUTF-8に揃えておけば、多くのメモが構築されてもそれほど困ることはないでしょう。geditを使えば暗黙でUTF-8になります。

また、多くのテキストエディタには文字コードを指定するオプションが準備されているはずですから、UTF-8に揃えるようにしましょう。

たとえばEmacsを使う場合、.emacs.elに以下のように記述しておくことで、テキストファイルがUTF-8で保存されるようになります[1]⁠。

(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)

また、メモをとるたびに適切なファイル名をつけるのは面倒なものです。テキストエディタにそうした機能があればそれを、もしなければ、次のような簡易ラッパーを作成し、それを起動すると便利でしょう。

まず、次のようなテキストをegditで作成し、gedit-wrapper.shという名前で保存します。

#!/bin/bash
TEXT=`/bin/date +%F_%H-%M-%S`
gedit ~/dat/txt/$TEXT &
exit 0

ファイルに実行権限を与え、データ保存領域として~/dat/txtを作成します。

$ chmod +x gedit-wrapper.sh
$ mkdir ~/dat/txt

パネル上で右クリックし、⁠パネルへ追加]を選択し、⁠カスタム・アプリケーションのランチャ」を選びます図4⁠。

図4 カスタムアプリケーションのランチャ
図4 カスタムアプリケーションのランチャ

ランチャの設定画面が開きますので、ここに、先ほど保存したedit-wrapper.shを登録します。図5のように、利用するユーザのホームディレクトリからの絶対パスで指定してください(/home/<ユーザ名>/gedit-wrapper.shとします⁠⁠。

ここではデフォルトのままですが、アイコンを好みに応じて選択すると良いでしょう。/usr/share/icons/hicolor/scalable/apps/gnome-panel-launcher.svgなどに利用可能なアイコンがあります。

このようにすることで、クリックするだけで自動的に(年-月-日_時-分-秒.txt)というテキストが作成されます。大量にテキストを作成する場合に、誤って上書き保存してしまう、といった問題がなくなりますので便利でしょう。

図5 gedit-wrapper.shの登録
図5 gedit-wrapper.shの登録

また、Emacsでテキストファイルベースのメモを取る場合、自動的にファイル名を指定する関数を定義し、キーシーケンスに割り当てておくと便利に使うことができるでしょう。以下は、日付.txtというファイルを自動的に作成する例です。秒単位まで同じタイミングで複数回実行してしまうとファイル名が被ってしまいますが、通常、問題になることは少ないでしょう。

こちらも例をそのまま利用するのであれば、~/dat/txt/ディレクトリを作成しておいてください。ただし、使い方にもよりますが、後述のhowmを使った方が便利かもしれません。

以下を.emacs.elに追加します。これにより、C-c f([Ctrl]キーを押しながらcを押し、すべてのキーを離してからfを押す)と操作すると、現在時刻を元にした自動命名ファイルが作成されます。

(defun my-autonamed-txt()
  (interactive)
  (find-file
   (concat "~/dat/txt/" (format-time-string "%Y-%m-%d_%H-%M-%S") ".txt"))
  )
(global-set-key "\C-cf" 'my-autonamed-txt)

検索を組み合わせる

大量にテキストが溜まってきてしまった場合、必要なメモを探し出すのに苦労することになります。常に適切なファイル名を付けるのであれば問題になりませんが、普通は適切なファイル名を付けることはできませんし、前述の日時ベースのファイル名を利用している場合は非常にやっかいなことになります。

このような場合、grepを用いて必要なテキストを見つけ出すのが良いでしょう。以下のようにすることで、必要なファイルを見つけ出すことができるはずです。

$ grep -r 検索したい文字列 /dat/txt

また、第24回で紹介した検索方法と組み合わせるのも非常に有効です。

howm

Emacsを使っているのであれば、メモを取るための環境として、howmというElispアプリケーションを利用することができます。以下のコマンドを用いるか、Synapticからインストールしてください。

$ sudo apt-get update
$ sudo apt-get install howm

インストール後は、M-x howmとするか、C-c , ,([Ctrl]を押しながらcを押し、キーをすべて離してから,を2回)と操作することでhowmを呼び出すことができます。図6がhowmのメニュー画面です。

図6 howmのメニュー画面
図6 howmのメニュー画面

howmの使い方は以下のようにします。まず、メニューを取る時はC-c,cと操作します。これにより、新しいバッファが開きますのでテキストで適宜メモを記述します。ある程度メモが溜まり、検索が必要になったら、C-c,sと操作し、検索文字列を入力します。

howmが作成するファイルは実際にはただのテキストファイルですので、前述のテキストによるメモと同じように、外部の検索ツールを用いることも可能です。

より詳細な使い方やTipsは、Emacs 電子書棚のhowmの紹介ページなどが参考になるでしょう。

Googleノートブック

Googleの提供するサービスの中に、Gogoleノートブックというメモツールがあります。これはWebアプリケーションですので、利用できるのはUbuntuに限ったものではありませんが、複数のOSを行き来するのであれば便利に使えるでしょう。http://www.google.com/notebook/からアクセスできます。

他のメモを取る環境は、どちらかと言えば自分で書いたメモをまとめることが中心ですが、こちらはWebページをスクラップし、自分用のスクラップブックを作る感覚で利用します。

Googleノートブックを利用する場合はGmailなどで利用するアカウントが必要です。

ログインすると図7のような画面になりますので、Webブラウザなどからコピー&ペーストして利用するのが基本となります。

図7 Googleノートブック
図7 Googleノートブック

また、Googleノートブックには標準で、Firefox拡張が用意されています図8⁠。

図8 Firefoxの拡張
図8 Firefoxの拡張

この拡張をインストールすることで、Firefox上で範囲選択→Googleノートブックにインポート、という流れでメモを取ることができるようになります図9⁠。この機能を用いると、ブラウザ上に小さなウインドウとして表示されますので、ブラウジングを邪魔することもありません。

図9 Firefoxの拡張を用いてメモを
図9 Firefoxの拡張を用いてメモを

おすすめ記事

記事・ニュース一覧