Ft_raku

Nvim :help 頁面,從 來源 使用 tree-sitter-vimdoc 解析器 產生


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 以取得清單。讀取雙字元清單的方便方法是將它們儲存在檔案中。從 shell
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('⊖')
" Euler's constant
exec 'digraph ne ' .. char2nr('𝑒')
" Raku's atomic operations marker
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 τ
主要
指令索引
快速參考