Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
15
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@gimKondo

シェルから使うオフラインの英和・和英辞書

Linux のコマンドラインでオフライン英和辞書を読んで、これちょっと変えるだけで和英としても使えるなー、と思ったのでやってみた。

セットアップ

  1. GENE95 辞書を入手する。
  2. 文字コードと改行コードを変更する。
    • ダウンロード時点ではCRLF改行、文字コードはcp932(shift-jis)になっているはず。
    • 私はvimで開いてset ff=unixset fenc=utf8として変更している。
  3. 適当な場所に配置する。
    • 以降の説明では/usr/share/dict/dictとして保存するものとする。
  4. シェルの設定ファイル(.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)。

ejdict.png

  • 和英辞書を引く(jedict 眼鏡)。

jedict.png

補足

  • GENE95の辞書ファイルが「英語、日本語、英語、日本語・・・」と並んでいることを利用して、英和ではヒット単語の1行後、和英ではヒット単語の1行前を同時に表示している。
  • 画像のように検索単語には色が付く(ので検索対象と結果が上下しても気にならないはず・・・まあ入れ替えてもいいが)。
  • -Eを付けているので正規表現での検索もできる(元ネタのコメントより)。

元ネタの@yubaisさんに感謝しつつ、今回はこれで。

修正情報

2016/12/14

  • バッファサイズを超える行が表示される場合、ページャを起動するように修正
  • 特記することも無いが、強いて言えば以下の点がポイント
    • lessにカラー表示を表明するため、grepのオプションに--color=alwaysを付加
    • lessでカラー表示を解釈するため、lessのオプションに -Rを付加
    • バッファ内に収まらない時だけページャを起動するためlessのオプションに -FX を付加
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
15
Help us understand the problem. What are the problem?