概要
- メモを素早く取るということに特化したCLIツール(中身はzshスクリプト)
- メモファイルが無ければ新規作成、すでに存在している場合は既存のメモファイルを作成
- 作成されるメモファイル形式は
.md
(Markdown)
- 作成されるメモファイル形式は
-
$EDITOR
で指定されたエディターを起動-
$EDITOR
が設定されていない場合はcode(Visual Studio Code)を起動
-
- 基本的にはmacOS用
動作確認環境
- M1 Max MacBook Pro
- macOS Sonoma 14.5
- VSCode 1.91.1
- zsh 5.9 (x86_64-apple-darwin23.0)
セットアップ
noteコマンドはzshのスクリプトとなっているので、以下の手順で作成する
$HOME
mkdir -p $HOME/bin
touch $HOME/bin/note
chmod +x $HOME/bin/note
code $HOME/bin/note
$HOME/bin/note
#!/usr/bin/env zsh
set -eo pipefail
editor=${EDITOR:-code}
# create a note dir
NOTE_ROOT="$HOME/works/note"
NOTE_DIR="$NOTE_ROOT/$(date +%Y-%m)"
if [ ! -d $NOTE_DIR ]; then
mkdir -p $NOTE_DIR
fi
# list notes
NOTE_NAME=${1:-1}
if [ "$NOTE_NAME" = "ls" ]; then
ls -1 "$NOTE_DIR/"*
exit 0
fi
# create a note file
NOTE_FILE="$NOTE_DIR/note_$(date +%Y%m%d)__${NOTE_NAME}.md"
NOTE_TEMPLATE_STR="# $(LANG=C date +"%Y%m%d %a") ${NOTE_NAME}\n"
if [ ! -f $NOTE_FILE ]; then
echo "$NOTE_TEMPLATE_STR" >> $NOTE_FILE
fi
# append text to the note file
NOTE_DESC=${${@:2}:-""}
if [ "$NOTE_DESC" != "" ]; then
echo "$NOTE_DESC" >> $NOTE_FILE
fi
# show the note path
echo "$NOTE_NAME: $NOTE_FILE"
# edit the note file
$editor $NOTE_FILE
必要に応じて $HOME/bin
にPATHを通しておく。
~/.zshrc
export PATH="$HOME/bin:$PATH"
使い方
Usage
note [メモ番号] [...メモ追記内容]
noteコマンド実行例
# メモを作成してエディターを開く(デフォルトのメモ番号は1)
note
# メモ番号を指定してエディターを開く
note 1
note 99
# 数値以外も指定可能(メモ番号はファイル名と見出しになる)
note hello
# 第二引数以降の文字列はメモに追記される
note 1 hello
note 1 hello world
note 1 "foo bar baz"
# 今日作成したメモ一覧を表示する
note ls
補足
- 必要に応じてzshスクリプトを変更してください