はじめに
Markdownで書いたメモを、fzfを使って見出し単位で検索するコマンドfcqs (以前はfcsという名前でした) を書きました。fzfで見出しを検索すると、その見出しから次の見出しまでの内容がプレビューで表示されます。
コマンドラインやショートカットキーなどちょっとしたことについて、繰り返しウェブで検索しさらにページ内から探す手間を省く助けとして使えます。
インストール
fzf をインストールしておきます。
fcqsをGitHubからダウンロードして展開します。コマンド本体はfcqs-cli
というファイルです。
fcqs-cli
をパスの通ったディレクトリに配置します。例えばLinuxなら以下のようにします。
install fcqs-cli ~/.local/bin/
Linuxでbashを使う場合、.bashrc
で設定を行います。メモの内容をコピーする機能を使うためには xclip をインストールしてください。
メモの編集にvimを使う場合は以下を追記します。
export VISUAL="vim" # your Unix Editors (Emacs, nano, gedit, etc.)
eval "$(fcqs-cli --bash)"
VS Codeを使う場合は以下を追記します。
export FCQS_EDITOR="vscode"
eval "$(fcqs-cli --bash)"
メモの仕様
検索対象となるメモファイルは、デフォルトでは~/fcnotes.md
です。検索対象となるメモファイルは、FCQS_NOTES_FILE
という環境変数にファイルのパスを設定することで変更できます。
メモの形式として必要なことは、見出しをMarkdown形式で書くだけです。
# title1
contents1
# title2
contens2
利用方法
コマンドラインでCtrol+o
を入力します。
fzfでMarkdownの見出しが表示されますので、検索しつつプレビューで内容を見ることができます。また以下のキーバインドが利用可能です。
- Enterキー: 選択したメモを標準出力に出力します。もしそのメモにコードブロックに囲まれたシェルコマンドが書かれている場合、その最初のブロックのシェルコマンドをコマンドラインにペーストします。
- Ctrl+y: 選択したメモをクリップボードにコピーします。
- Ctrl+o: 選択したメモにURLが含まれる場合、最初のURLをブラウザ等で開きます。
- Ctrl+e: 選択したメモをエディタで開きます。
キーバインドは環境変数でカスタマイズできます。READMEを参照してください。
その他
- 検索の対象は見出しのみです。
- 見出しの階層やそれに伴う構造は無視します。単純に見出しと見出しの間にある内容を表示します。
- 内容をもたない見出し(次の見出しまでにコンテンツがない)は一覧に表示しません。
- 同じ見出しが複数ある場合は、一つにまとめます。
- 見出しの行末空白は無視します。
- メモの内容に連続する空行があれば1行にまとめます。それ以外の整形は行いません。
- メモの中身が多いと、メモの内容を検索する必要が出てきます。メモの内容は短くしておくのがよいです。