vim-jp / vimdoc-ja / ft_raku

ft_raku - Vim日本語ドキュメント

メインヘルプファイルに戻る English | 日本語 | 編集
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 +'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('⚛')

別の方法としては、挿入モードでの短縮入力で 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 τ
<
 vim:tw=78:ts=8:noet:ft=help:norl: