基本的な使い方

jrnlには2つのモードがあります:作成モード閲覧モードです。ダッシュ(-) やダブルダッシュ(--)で始まる引数を入力しない場合は作成モードになり、 コマンドラインでエントリーを書くことができます。

私たちは意図的にコマンドライン引数の慣例を破っています:一重のダッシュ-)で 始まるすべての引数は、閲覧前にジャーナルをフィルタリングします。フィルタ引数は 任意に組み合わせることができます。二重のダッシュ--)で始まる引数は、 ジャーナルの表示やエクスポートの方法を制御します。制御引数は相互に排他的です (つまり、一度に一つの方法でのみジャーナルの表示やエクスポートを指定できます)。

コマンドのリストを表示するには、jrnl --helpと入力してください。

エントリーの作成

作成モードは、引数なしでjrnlを起動する(外部エディタが起動します)か、 コマンドラインに直接エントリーを書くことで入ります:

jrnl today at 3am: バーでスティーブ・ブシェミに会った!とても良い人だった。

Note

ほとんどのシェルには#*などの予約文字があります。これらの文字や、 バランスの取れていない単一または二重引用符、括弧などは、おそらく問題を 引き起こします。予約文字は\を使ってエスケープできますが、長文の 書き込みには理想的ではありません。解決策:まずjrnlと入力してリターンキーを 押します。その後、ジャーナルエントリーのテキストを入力できます。 または、外部エディタを使用することもできます。

ファイルから直接エントリーをインポートすることもできます:

jrnl < my_entry.txt

日付と時間の指定

日付と時間を指定しない場合(例:jrnl 弟への手紙を書き終えた)、jrnlは現在の日付と時間を使用してエントリーを作成します。過去のエントリーの場合、タイムスタンプを使用してjrnlにエントリーの配置場所を指示できます。タイムスタンプは様々な形式で入力できます。以下は機能する例です:

  • at 6am
  • yesterday
  • last monday
  • sunday at noon
  • 2 march 2012
  • 7 apr
  • 5/20/1998 at 23:42
  • 2020-05-22T15:55-04:00

タイムスタンプを使用しない場合、jrnlは現在の時刻を使用してエントリーを作成します。 日付のみを使用する場合(時刻なし)、jrnl設定ファイルで 指定されたデフォルトの時刻を使用します。 内部的には、jrnlはエントリーを年代順に並べ替えます。

タグの使用

jrnlはタグをサポートしています。デフォルトのタグシンボルは@です(主に#が 予約文字であるため)。設定ファイルで 独自のタグシンボルを指定できます。タグを使用するには、目的のタグの前にシンボルを 付けます:

jrnl @ビーチで@トムと@アンナと素晴らしい一日を過ごした。

エントリーにタグを付ける際に大文字を使用できますが、タグによる検索は 大文字小文字を区別しません。

1つのエントリーで使用できるタグの数に制限はありません。

エントリーにスターを付ける

エントリーをお気に入りとしてマークするには、単にアスタリスク(*)を使って 「スター」を付けます:

jrnl last sunday *: 人生最高の日。

日付を追加したくない場合(つまり、日付をnowとして入力したい場合)、 以下のオプションは同等です:

  • jrnl *: 人生最高の日。
  • jrnl *人生最高の日。
  • jrnl 人生最高の日。*

Note

アスタリスク(*)の前後に空白がないことを確認してください。 jrnl 人生最高の日! *は機能しません。なぜなら、*文字はほとんどの シェルで特別な意味を持つからです。

エントリーの閲覧と検索

jrnlは様々な方法でエントリーを表示できます。

すべてのエントリーを表示するには、次のように入力します:

jrnl -to today

jrnlはいくつかのフィルタリングコマンドを提供しており、一重のダッシュ(-)で 始まり、より具体的な範囲のエントリーを見つけることができます。例えば、

jrnl -n 10

は最新の10件のエントリーを表示します。jrnl -10はさらに簡潔で、同じように機能します。 昨年の初めから今年の3月末までに書いたすべてのエントリーを見たい場合は、 次のように入力します:

jrnl -from "last year" -to march

複数の単語を使用するフィルタ条件は、引用符("")で囲む必要があります。

特定の日のエントリーを見るには、-onを使用します:

jrnl -on yesterday

テキスト検索

-containsコマンドは、その後に入力したテキストを含むすべてのエントリーを表示します。 これは、エントリーを検索する際に、書いた時にタグを付けたかどうか覚えていない場合に 役立つかもしれません。

ある単語をよく使っていることに気づき、過去のすべてのエントリーでそれをタグに 変えたいと思うかもしれません。

jrnl -contains "犬" --edit

外部エディタを開き、"犬"という単語のすべてのインスタンスにタグシンボル (デフォルトでは@)を追加できます。

タグによるフィルタリング

ジャーナルエントリーをタグでフィルタリングできます。例えば、

jrnl @ピンキー @世界征服

@ピンキーまたは@世界征服のいずれかが出現するすべてのエントリーを表示します。 タグフィルタは他のフィルタと組み合わせることができます:

jrnl -n 5 @ピンキー -and @世界征服

@ピンキー@世界征服両方を含む最新の5つのエントリーを表示します。 設定ファイルでタグに使用したいシンボルを 変更できます。

Note

jrnl @ピンキー @世界征服と入力すると、両方のタグが存在するエントリーが 表示されます。これは、コマンドライン引数が与えられていないにもかかわらず、 すべての入力文字列がタグのように見えるためです。jrnlは、タグのみで 構成される新しいエントリーを作成するのではなく、タグでフィルタリング したいと想定します。

ジャーナル内のすべてのタグのリストを表示するには、次のように入力します:

jrnl --tags

スター付きエントリーの表示

お気に入り(スター付き)のエントリーのみを表示するには、次のように入力します:

jrnl -starred

エントリーの編集

エントリーを書いた後で編集することができます。これは特に、ジャーナルファイルが 暗号化されている場合に便利です。この機能を使用するには、設定ファイルで 外部エディタを設定する必要があります。また、特定の検索条件に一致するエントリー のみを編集することもできます。例えば、

jrnl -to 1950 @テキサス -and @歴史 --edit

は外部エディタを開き、1950年以前に書かれた@テキサス@歴史のタグが付いた すべてのエントリーを表示します。変更を加えてファイルを保存して閉じると、 それらのエントリーのみが変更されます(該当する場合は暗号化されます)。

複数のジャーナルを使用している場合、特定のジャーナルから特定のエントリーを 簡単に編集できます。フィルタ文字列の前にジャーナルの名前を付けるだけです。 例えば、

jrnl work -n 1 --edit

は'work'ジャーナルの最新のエントリーを外部エディタで開きます。

エントリーの削除

--deleteコマンドは、エントリーを削除するための対話型インターフェースを開きます。 ジャーナル内の各エントリーの日付とタイトルが一つずつ表示され、各エントリーを 保持するか削除するかを選択できます。

フィルタが指定されていない場合、jrnlはジャーナル全体の各エントリーを一つずつ 保持するか削除するかを尋ねます。ジャーナルに多くのエントリーがある場合は、 --deleteコマンドを渡す前にエントリーをフィルタリングする方が効率的かもしれません。

例を挙げます。過去12年間のブログ投稿をインポートしたジャーナルがあるとします。 @本タグを頻繁に使用しており、何らかの理由で、そのタグを使用したエントリーの 一部(全部ではない)を削除したいのですが、2004年以前に書いたものだけです。 どのエントリーを保持したいかわからず、決定する前に確認したいとします。 次のように入力するかもしれません:

jrnl -to 2004 @本 --delete

jrnlは関連するエントリーのみを表示し、削除したいものを選択できます。

2004年以前に書いた@本を含むすべてのエントリーを削除したい場合もあるでしょう。 数十または数百ある場合、最も簡単な方法は外部エディタを使用することです。 削除したいエントリーをエディタで開きます...

jrnl -to 2004 @本 --edit

...すべてを選択し、削除して保存して閉じると、それらのエントリーすべてが ジャーナルから削除されます。

ジャーナルのリスト表示

すべてのジャーナルをリスト表示するには:

jrnl --list

表示されるジャーナルは、jrnl設定ファイルで 指定されたものに対応します。