tl;dr
ターミナルから検索を行い、ブラウザを開いて表示できるコマンドです。
インストール方法
おおむね README にある通りですが。
go コマンドでビルド
go install github.com/zquestz/s@latest
Homebrew
brew install s-search
バイナリをダウンロード
https://github.com/zquestz/s/releases からお好みのバイナリをダウンロードし、解凍後、バイナリをPATHが通った場所に置きます。
使い方
最低限、以下でブラウザが立ち上がります。
s 検索したいワード
デフォルトの検索エンジンは presearch
というあまり日本ではなじみのないものになっています。
以下のようなオプションで検索エンジンを切り替えることができます。
s -p google 検索したいワード
設定ファイル
~/.config/s/config
というファイルに設定を記載していきます。
設定ファイルは UCL というこれまたあまりなじみの薄い形式になっていますが、可読性は高いのでそこまで難しいものではないと思います。
私の設定例です。
provider: google
whitelist: [google, crates, gist, github, mdn, npm, perplexity, pypi, rubygems, wikipedia, qiita, zenn]
customProviders: [
{name: qiita, url: "https://qiita.com/search?q=%s", tags: [qiita]},
{name: zenn, url: "https://zenn.dev/search?q=%s", tags: [zenn] }
]
provider
でデフォルトの検索エンジンを変更しています。
zquestz/s はとてもたくさんの検索エンジンに対応しています。s --list-providers
を見ると、対応している検索エンジンを一覧できます。
中には baidu、instagram、vimeo など、仕事用PCで使うとオヤっと思われてしまいそうなものもあるため、私は whitelist
で使える検索エンジンを限定しています。
customProviders
を設定すると、対応していない検索エンジンも使えるようになります。上記の設定で、qiita と zenn を検索できるようにしています。
WSLでのひと工夫
おそらくMacOSでは上記設定だけですんなり動くかと思いますが、私はWindowsのWSL上で主に作業していますので、ひと工夫しています。
WSLでは、デフォルトのブラウザはWSL内にインストールされたブラウザになってしまうので、ちょっと使い勝手がよくないです。
できればWindowsネイティブなブラウザを開いて欲しい。
そこで、PATHの通った場所(自分の場合は、 ~/.local/bin/
)にシェルスクリプトを作りました。
#!/bin/sh
'/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe' \
--profile-directory="Profile 1" \
$*
ざっくり言えば Edge ブラウザのフルパスを記載しているだけですが、これだけでだいぶ使い勝手がよくなります。
で、.bashrc
なり .zshrc
なりでエイリアスを設定します。
alilas s='s -b ~/.local/bin/msedge.sh`
-b
オプションでデフォルトブラウザのコマンドを指定しています。
WSL1のころはWindows側のPATHもWSLで使えていましたが、けっこう実行ファイルの検索が重くなってしまうので、最近はWindowsのPATHはWSLに取り込まれなくなりましたね。
むすび
ターミナルから検索をサクッとできるのは結構体験がよいと感じています。Perplexityに質問できたりも便利です。
ぜひ皆さんも使ってみてください。