みなさん、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のテスト用フレームワークなども充実しており開発体験の良い環境が整っています。
まだプラグインを作ったことがない方も、是非自分の「好き」のために書いてみてはいかがでしょうか。
では、締めにスクリーンショットでタイプしたソクラテスのセリフの翻訳を。
じゃあ、クリトーンよ、それで良いんだ。僕らはそのようにしよう。
