みなさん、Vimは好きですかー??
……そうですか、好きですか。
みなさん、古代ギリシアは好きですかー??
……ほう、ほう、大好きですか。
好きと好きが合わさったら最高に幸せですよね。
という訳でVimプラグインを作りました。その名もソクラテス。1
この記事では古代ギリシア語入力用のVimプラグインのお話をします。
これから古代ギリシア語をターミナルからでもすらすら入力したいという人向けの内容になっています。
インストール
お好きなプラグイン・マネージャーで入れてください。
" dein.vim
call dein#add('NI57721/vim-socrates')
" vim-plug
Plug 'NI57721/vim-socrates'
" neobundle
NeoBundle 'NI57721/vim-socrates'
" jetpack
Jetpack 'NI57721/vim-socrates'
使い方
.vimrc
に以下の3行の内好きな1行を加えるといい感じに使えるようになります。これはキーマップをトグルするマッピングです。キーマップはsocrates-greed
がお勧めです。詳しくは後述。
nnoremap <leader>q <Plug>(socrates-greed)
nnoremap <leader>q <Plug>(socrates-latin)
nnoremap <leader>q <Plug>(socrates)
キーマップ
socrates
はギリシア語キーボードに対応したキーマップ、socrates-latin
はギリシア語のローマ字化に対応したキーマップ、socrates-greed
はそれらの良いとこ取りをしたキーマップです。thでθ、psでψなどが入力できるようになります。
socrates-greedのキーマップ
キー | ギリシア語 | キー | ギリシア語 | キー | ギリシア語 |
---|---|---|---|---|---|
a | α | m | μ | t | τ |
b | β | n | ν | y | υ |
g | γ | j | ξ | u | υ |
d | δ | x | ξ | f | φ |
e | ε | ks | ξ | ph | φ |
z | ζ | o | ο | ch | χ |
h | η | p | π | ps | ψ |
th | θ | r | ρ | v | ω |
i | ι | rh | ῥ | w | ω |
k | κ | s | σ | ||
l | λ | c | ς |
大文字も似た感じです。ただし大文字の場合はPS
とPs
がともにΨ
になります。socrates
, socrates-latin
についてはここでは割愛します。詳しくはGitHubのREADMEをご覧ください。
記号
発音記号などの入力方法は全てのキーマップで共通です。WindowsのIMEではこれらの記号を入力するのに、複雑な配列を覚えたうえでキーを3つも4つも同時に押さなければならなかったりして大変でしたよね。このプラグインではメインのアルファベットの後に記号類を順不同で入力できます。
したがって、a~[_
, a~_[
, a_[~
などは全部ᾇ
と入力されます。
キー | タイプ例 | 意味 |
---|---|---|
[ | ἁ | 有気記号 |
] | ἀ | 無気記号 |
` | ὰ | 重アクセント |
' | ά | 鋭アクセント |
~ | ᾶ | 曲アクセント |
_ | ᾳ, ᾼ | 下書き/横書きのイオタ |
- | ᾱ | マクロン |
^ | ᾰ | ブリーブ |
" | ϋ | トレマ |
句読点など
キー | タイプ例 | 意味 |
---|---|---|
? | ; | 疑問符。セミコロンではない |
; | · | セミコロン |
: | · | コロン(↑と同一) |
古いアルファベット
キー | タイプ例 | 意味 |
---|---|---|
F\ | Ϝ | 大文字のディガンマ |
f\ | ϝ | 小文字のディガンマ |
M\ | Ϻ | 大文字のサン |
m\ | ϻ | 小文字のサン |
Q\ | Ϙ | 大文字のコッパ |
q\ | ϙ | 小文字のコッパ |
H\ | Ͱ | 大文字のヘータ |
h\ | ͱ | 小文字のヘータ |
S\ | Ͳ | 大文字のアルカイック・サンピ |
s\ | ͳ | 小文字のアルカイック・サンピ |
Z\ | Ϡ | サンピ |
z\ | ϡ | 小文字のサンピ |
SH\ | Ϸ | 大文字のショー |
Sh\ | Ϸ | 大文字のショー |
sh\ | ϸ | 小文字のショー |
W\ | Ͷ | 大文字のパンフィリアのディガンマ |
w\ | ͷ | 小文字のパンフィリアのディガンマ |
ST\ | Ϛ | スティグマ |
St\ | Ϛ | スティグマ |
st\ | ϛ | 小文字のスティグマ |
j\ | ϳ | ヨット |
区切りのスラッシュ
全てのキーはスラッシュで確定させることができます。socrates-greed
ではτη
と入力しようとしてth
と打つとθ
になってしまいますが、t/h
と打つことによりτη
と入力することができます。
スマート・モード
デフォルトでsmart mode
がオンになっています。これにより、語頭のρ
は自動で有気記号が付いてῥ
になります。また、語末のσ
は自動でς
になります。ラテン文字のつもりでそのまま入力できるので便利です。
例えば、Swkra't/hs
と入力すれば、そのままΣωκράτης
となります。
オフにするには.vimrcに以下を加えてください。
let g:socrates_smart_mode = v:false
また、語頭・語末判定に使う文字を変更することができます。
デフォルトでは,.'";:? ;·<U+00FF>
が指定されています。変更するには以下の行を.vimrcに加えてください。
let g:socrates_punctuations = "語頭・語末判定で使う文字"
プラグインの作成について
本プラグインは全てVim scriptで書かれています。2
Vim scriptに関しては既に優れた文章がいくつもあるのでここでは語りませんが3、Vim用のGitHub ActionやVim scriptのテスト用フレームワークなども充実しており開発体験の良い環境が整っています。
まだプラグインを作ったことがない方も、是非自分の「好き」のために書いてみてはいかがでしょうか。
では、締めにスクリーンショットでタイプしたソクラテスのセリフの翻訳を。
じゃあ、クリトーンよ、それで良いんだ。僕らはそのようにしよう。