MacのターミナルでOS付属の辞書を使う

macOSに標準で付属している辞書をターミナルから使うには

open dict://単語

とすると辞書ソフトが立ち上がり単語の意味を表示する。

また辞書ソフトのAPIを使うとswiftやpythonで作成したスクリプトでターミナル上から辞書をひける。

以下のようなswiftのスクリプトを作成して実行パーミッションをつけて引数に単語を指定して実行する。

>vim dict

#!/usr/bin/swift
import Foundation

if (CommandLine.argc < 2) {
    print("Usage: dictionary word")
}else{
    let argument = CommandLine.arguments[1]
    let result = DCSCopyTextDefinition(nil, argument as CFString, CFRangeMake(0, argument.count))?.takeRetainedValue() as String?
    print(result ?? "")
}

このスクリプトを実行すると

>chmod u+x dict
> ./dict 辞書 じしょ 1【辞書】① 多くの言葉や文字を一定の基準によって配列し,その表記法・発
音・語源・意味・用法などを記した書物。国語辞書・漢和辞書・外国語辞書・百科辞書
のほか,ある分野の語を集めた特殊辞書,ある専門分野の語を集めた専門辞書などの種
類がある。辞典。辞彙(じい)。語彙。字書。字引。② 仮名漢字変換方式のワード-プ
ロセッサーにおいて, 仮名に対応する漢字を登録しておくファイル。あるいは,自動
翻訳システムにおいて,単語間の対応や文法を記録しておくファイル。③ 辞職の意を
記した文書。辞表。「この頃大弐―奉りたれば」〈栄花物語•見はてぬ夢〉
>

のようにターミナル上で辞書が引ける。

このスクリプトvimで利用することで編集中に簡単に辞書を引くことができる。

ホームディレクトリにある.vimrcに以下の記述を追加する。PATHは作成したスクリプト"dict"があるpathを記述する。

command DICT exe ":!PATH/dict ".getreg('"')
command JISYO !PATH/dict <cword>

vimを立ち上げて辞書を引きたい単語上にカーソルを持って行き

:JISYO

とすると単語の意味が表示される。

※単語なのでスペースで区切られている必要がある。

またはビジュアルモードで単語を選択してコピーした後(vを押してカーソルを移動させてyを押す)

:DICT

とするとコピーした単語の辞書が引ける。