Linux のコマンドラインでオフライン英和辞書を読んで、これちょっと変えるだけで和英としても使えるなー、と思ったのでやってみた。
セットアップ
- GENE95 辞書を入手する。
- 文字コードと改行コードを変更する。
- ダウンロード時点ではCRLF改行、文字コードはcp932(shift-jis)になっているはず。
- 私はvimで開いて
set ff=unix
、set fenc=utf8
として変更している。
- 適当な場所に配置する。
- 以降の説明では
/usr/share/dict/dict
として保存するものとする。
- 以降の説明では
- シェルの設定ファイル(.zshrcなど)に以下のような関数を定義する。
# 辞書を引く(英和)
function ejdict() {
grep "$1" /usr/share/dict/dict -E -A 1 -wi --color=always | less -R -FX
}
# 辞書を引く(和英)
function jedict() {
grep "$1" /usr/share/dict/dict -E -B 1 -wi --color=always | less -R -FX
}
使い方
- 英和辞書を引く(
ejdict glasses
)。
- 和英辞書を引く(
jedict 眼鏡
)。
補足
- GENE95の辞書ファイルが「英語、日本語、英語、日本語・・・」と並んでいることを利用して、英和ではヒット単語の1行後、和英ではヒット単語の1行前を同時に表示している。
- 画像のように検索単語には色が付く(ので検索対象と結果が上下しても気にならないはず・・・まあ入れ替えてもいいが)。
-
-E
を付けているので正規表現での検索もできる(元ネタのコメントより)。
元ネタの@yubaisさんに感謝しつつ、今回はこれで。
修正情報
2016/12/14
- バッファサイズを超える行が表示される場合、ページャを起動するように修正
- 特記することも無いが、強いて言えば以下の点がポイント
- lessにカラー表示を表明するため、grepのオプションに
--color=always
を付加 - lessでカラー表示を解釈するため、lessのオプションに
-R
を付加 - バッファ内に収まらない時だけページャを起動するためlessのオプションに
-FX
を付加
- lessにカラー表示を表明するため、grepのオプションに