ft_raku.txt Raku プログラミング言語ファイルタイプ
vim-raku
vim-raku はシンタックスハイライト、インデント、その他 Raku プログラムの編集の
ためのサポートを提供する。
1. Raku ファイル内での Unicode の利用 raku-unicode
==============================================================================
1. Raku ファイル内での Unicode の利用 raku-unicode
Unicode の記号を用いて新しい演算子を定義することは、あなたの Raku プログラムを
読み易くする良い方法である。参照:
https://perl6advent.wordpress.com/2012/12/18/day-18-formulas-resistance-is-futile/
Raku は基本的な演算子については ASCII での代替定義をしているが(参照
https://docs.raku.org/language/unicode_ascii )、Unicode 演算子の全範囲が使える
のが望しい。あなたのオペレーティングシステムが入力環境を提供していても、Vim 組
み込み機能を使うのが望しいだろう。
自然な方法でこれらの記号を Vim 内に出すにはダイグラフショートカットを使う
(:help digraphs-use)。多くの記号が定義されており、:digraphs とタイプするこ
とでその一覧が得られる。便利な方法として、ダイグラフの一覧をファイルに保存して
それを読んでもよい。シェルからなら:
標準の Vim のダイグラフにいくつかある:
<< « /0 ∅ !< ≮
>> » Ob ∘ !> ≯
., … 00 ∞ (C ⊂
(U ∩ -: ÷ )C ⊃
)U ∪ (_ ⊆ >= ≥
?= ≅ )_ ⊇ =< ≤
(- ∈ ?= ≅ != ≠
-) ∋ ?- ≃
ギリシャ文字は '*' の後に同等のラテン文字を続ける:
*p π
*t τ
*X ×
下付きと上付き数値は 's' と 'S' と共に:
0s ₀ 0S ⁰
1s ₁ 1S ¹
2s ₂ 9S ⁹
しかし、いくつかは標準では定義されていない。それらについては ~/.vimrc ファイル
にダイグラフの定義を追加することができる。
別の方法としては、挿入モードでの短縮入力で ASCII の演算子から同等の Unicode の
単一文字へ変換することもできる。
vim:tw=78:ts=8:noet:ft=help:norl:
vim-raku
vim-raku はシンタックスハイライト、インデント、その他 Raku プログラムの編集の
ためのサポートを提供する。
1. Raku ファイル内での Unicode の利用 raku-unicode
==============================================================================
1. Raku ファイル内での Unicode の利用 raku-unicode
Unicode の記号を用いて新しい演算子を定義することは、あなたの Raku プログラムを
読み易くする良い方法である。参照:
https://perl6advent.wordpress.com/2012/12/18/day-18-formulas-resistance-is-futile/
Raku は基本的な演算子については ASCII での代替定義をしているが(参照
https://docs.raku.org/language/unicode_ascii )、Unicode 演算子の全範囲が使える
のが望しい。あなたのオペレーティングシステムが入力環境を提供していても、Vim 組
み込み機能を使うのが望しいだろう。
自然な方法でこれらの記号を Vim 内に出すにはダイグラフショートカットを使う
(:help digraphs-use)。多くの記号が定義されており、:digraphs とタイプするこ
とでその一覧が得られる。便利な方法として、ダイグラフの一覧をファイルに保存して
それを読んでもよい。シェルからなら:
vim +'redir >/tmp/vim-digraphs-listing.txt' +digraphs +'redir END' +q
標準の Vim のダイグラフにいくつかある:
<< « /0 ∅ !< ≮
>> » Ob ∘ !> ≯
., … 00 ∞ (C ⊂
(U ∩ -: ÷ )C ⊃
)U ∪ (_ ⊆ >= ≥
?= ≅ )_ ⊇ =< ≤
(- ∈ ?= ≅ != ≠
-) ∋ ?- ≃
ギリシャ文字は '*' の後に同等のラテン文字を続ける:
*p π
*t τ
*X ×
下付きと上付き数値は 's' と 'S' と共に:
0s ₀ 0S ⁰
1s ₁ 1S ¹
2s ₂ 9S ⁹
しかし、いくつかは標準では定義されていない。それらについては ~/.vimrc ファイル
にダイグラフの定義を追加することができる。
exec 'digraph \\ '.char2nr('∖')
exec 'digraph \< '.char2nr('≼')
exec 'digraph \> '.char2nr('≽')
exec 'digraph (L '.char2nr('⊈')
exec 'digraph )L '.char2nr('⊉')
exec 'digraph (/ '.char2nr('⊄')
exec 'digraph )/ '.char2nr('⊅')
exec 'digraph )/ '.char2nr('⊅')
exec 'digraph U+ '.char2nr('⊎')
exec 'digraph 0- '.char2nr('⊖')
" オイラー数/ネイピア数
exec 'digraph ne '.char2nr('𝑒')
" Raku の atomic 演算子記号
exec 'digraph @@ '.char2nr('⚛')
exec 'digraph \< '.char2nr('≼')
exec 'digraph \> '.char2nr('≽')
exec 'digraph (L '.char2nr('⊈')
exec 'digraph )L '.char2nr('⊉')
exec 'digraph (/ '.char2nr('⊄')
exec 'digraph )/ '.char2nr('⊅')
exec 'digraph )/ '.char2nr('⊅')
exec 'digraph U+ '.char2nr('⊎')
exec 'digraph 0- '.char2nr('⊖')
" オイラー数/ネイピア数
exec 'digraph ne '.char2nr('𝑒')
" Raku の atomic 演算子記号
exec 'digraph @@ '.char2nr('⚛')
別の方法としては、挿入モードでの短縮入力で ASCII の演算子から同等の Unicode の
単一文字へ変換することもできる。
iabbrev <buffer> !(<) ⊄
iabbrev <buffer> !(<=) ⊈
iabbrev <buffer> !(>) ⊅
iabbrev <buffer> !(>=) ⊉
iabbrev <buffer> !(cont) ∌
iabbrev <buffer> !(elem) ∉
iabbrev <buffer> != ≠
iabbrev <buffer> (&) ∩
iabbrev <buffer> (+) ⊎
iabbrev <buffer> (-) ∖
iabbrev <buffer> (.) ⊍
iabbrev <buffer> (<) ⊂
iabbrev <buffer> (<+) ≼
iabbrev <buffer> (<=) ⊆
iabbrev <buffer> (>) ⊃
iabbrev <buffer> (>+) ≽
iabbrev <buffer> (>=) ⊇
iabbrev <buffer> (\|) ∪
iabbrev <buffer> (^) ⊖
iabbrev <buffer> (atomic) ⚛
iabbrev <buffer> (cont) ∋
iabbrev <buffer> (elem) ∈
iabbrev <buffer> * ×
iabbrev <buffer> **0 ⁰
iabbrev <buffer> **1 ¹
iabbrev <buffer> **2 ²
iabbrev <buffer> **3 ³
iabbrev <buffer> **4 ⁴
iabbrev <buffer> **5 ⁵
iabbrev <buffer> **6 ⁶
iabbrev <buffer> **7 ⁷
iabbrev <buffer> **8 ⁸
iabbrev <buffer> **9 ⁹
iabbrev <buffer> ... …
iabbrev <buffer> / ÷
iabbrev <buffer> << «
iabbrev <buffer> <<[=]<< «=«
iabbrev <buffer> <<[=]>> «=»
iabbrev <buffer> <= ≤
iabbrev <buffer> =~= ≅
iabbrev <buffer> >= ≥
iabbrev <buffer> >> »
iabbrev <buffer> >>[=]<< »=«
iabbrev <buffer> >>[=]>> »=»
iabbrev <buffer> Inf ∞
iabbrev <buffer> atomic-add-fetch ⚛+=
iabbrev <buffer> atomic-assign ⚛=
iabbrev <buffer> atomic-fetch ⚛
iabbrev <buffer> atomic-dec-fetch --⚛
iabbrev <buffer> atomic-fetch-dec ⚛--
iabbrev <buffer> atomic-fetch-inc ⚛++
iabbrev <buffer> atomic-inc-fetch ++⚛
iabbrev <buffer> atomic-sub-fetch ⚛−=
iabbrev <buffer> e 𝑒
iabbrev <buffer> o ∘
iabbrev <buffer> pi π
iabbrev <buffer> set() ∅
iabbrev <buffer> tau τ
iabbrev <buffer> !(<=) ⊈
iabbrev <buffer> !(>) ⊅
iabbrev <buffer> !(>=) ⊉
iabbrev <buffer> !(cont) ∌
iabbrev <buffer> !(elem) ∉
iabbrev <buffer> != ≠
iabbrev <buffer> (&) ∩
iabbrev <buffer> (+) ⊎
iabbrev <buffer> (-) ∖
iabbrev <buffer> (.) ⊍
iabbrev <buffer> (<) ⊂
iabbrev <buffer> (<+) ≼
iabbrev <buffer> (<=) ⊆
iabbrev <buffer> (>) ⊃
iabbrev <buffer> (>+) ≽
iabbrev <buffer> (>=) ⊇
iabbrev <buffer> (\|) ∪
iabbrev <buffer> (^) ⊖
iabbrev <buffer> (atomic) ⚛
iabbrev <buffer> (cont) ∋
iabbrev <buffer> (elem) ∈
iabbrev <buffer> * ×
iabbrev <buffer> **0 ⁰
iabbrev <buffer> **1 ¹
iabbrev <buffer> **2 ²
iabbrev <buffer> **3 ³
iabbrev <buffer> **4 ⁴
iabbrev <buffer> **5 ⁵
iabbrev <buffer> **6 ⁶
iabbrev <buffer> **7 ⁷
iabbrev <buffer> **8 ⁸
iabbrev <buffer> **9 ⁹
iabbrev <buffer> ... …
iabbrev <buffer> / ÷
iabbrev <buffer> << «
iabbrev <buffer> <<[=]<< «=«
iabbrev <buffer> <<[=]>> «=»
iabbrev <buffer> <= ≤
iabbrev <buffer> =~= ≅
iabbrev <buffer> >= ≥
iabbrev <buffer> >> »
iabbrev <buffer> >>[=]<< »=«
iabbrev <buffer> >>[=]>> »=»
iabbrev <buffer> Inf ∞
iabbrev <buffer> atomic-add-fetch ⚛+=
iabbrev <buffer> atomic-assign ⚛=
iabbrev <buffer> atomic-fetch ⚛
iabbrev <buffer> atomic-dec-fetch --⚛
iabbrev <buffer> atomic-fetch-dec ⚛--
iabbrev <buffer> atomic-fetch-inc ⚛++
iabbrev <buffer> atomic-inc-fetch ++⚛
iabbrev <buffer> atomic-sub-fetch ⚛−=
iabbrev <buffer> e 𝑒
iabbrev <buffer> o ∘
iabbrev <buffer> pi π
iabbrev <buffer> set() ∅
iabbrev <buffer> tau τ
vim:tw=78:ts=8:noet:ft=help:norl: