6

vim-cute-python の仕組みと同様に、ギリシャ記号に基づいた名前で変数を隠し、それらを Unicode の同等の記号に変換したいと考えています。たとえば、私はこれを持っています:

syntax match scalaNiceKeyword "alpha" conceal cchar=α

Scala ファイル内に隠蔽するためにファイルで定義されています。私がalphabetそれを書くと、隠蔽されて になりαbetます。これは著しく間違っています。

この隠しステートメントを変更または拡張して、一致するキーワードのみを隠すにはどうすればよい[ _]alpha[ _]ですか? つまり、次の変換が必要です。

alpha_1 => α_1
alpha => α
alphabet => alphabet

注:これはこの質問に似ていますが、一致させたいグループ環境がスペースとアンダースコアであるため、少し複雑なようです。次のように単純に構文領域を定義すると、あらゆる種類の問題が発生します。

syn region scalaGreekGroup start="[ _]" end="[ _]"

前もって感謝します!

4

2 に答える 2

3

単語の境界またはアンダースコアで区切られた名前のみに一致するようにパターンを変更します。

:syntax match scalaNiceKeyword '\(_\|\<\)\zsalpha\ze\(\>\|_\)' conceal cchar=α
于 2012-05-08T02:56:48.783 に答える
0

開く/書き込むときに行うことと、保存するときに逆変換することunilatex.vimを定義する、というスクリプトがあります。私はラテックスコードに使用しており、ラテックスコンパイラがユニコードを正しく処理できるため、バックコンバージョンを削除するように変更しました。scala のソース コードが Unicode にできるかどうかはわかりませんが、できれば私のバージョンを見てください。imaps\alpha => α

于 2012-05-08T09:28:08.053 に答える