Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

バッファごとに句読点のスタイルを変更するには? #249

Open
wakita opened this issue Jul 9, 2021 · 3 comments
Open

Comments

@wakita
Copy link

wakita commented Jul 9, 2021

質問になってすみません。

文書の種類に応じて異なる句読点のスタイルを用いる必要があって、どうしたものかと思っています。

  • 論文のときは
  • ふつうの文章では

を使いわけます。
で、eskk#register_mode_table を使って mode table を変更する方法を知ったため、以下のように SkkTechnicalSkkCasual というコマンドを用意して、eskk が動く出す前であれば、それ以後、利用する mode table を変更できるようにしています。

let s:eskk_mode_tables = [                                                 
      \ eskk#table#new('rom_to_hira'.'*', 'rom_to_hira'),
      \ eskk#table#new('rom_to_kata'.'*', 'rom_to_kata')]                  

function! s:eskk_register_mode_table()
  call eskk#register_mode_table('hira', b:eskk_mode_tables[0])
  call eskk#register_mode_table('kata', b:eskk_mode_tables[1])
endfunction

autocmd User eskk-initialize-pre call s:eskk_register_mode_table()

function! s:eskk_punctuation(punctuation_mapping)
  for table in s:eskk_mode_tables
    for [from, to] in a:punctuation_mapping
      call table.add_map(from, to)
    endfor
  endfor
endfunction

command SkkTechnical call s:eskk_punctuation([[',', ','], ['.', '.']])
command SkkCasual    call s:eskk_punctuation([[',', '、'], ['.', '。']])

でも、実際にはいろいろな種類の文書をひとつの vim で編集したいので、できればバッファごとに設定できると嬉しいです。

よい方法があったらご教示いただけませんでしょうか。
(本当は編集中に mode table を交換できればさらに嬉しいですが…)

@Shougo
Copy link
Collaborator

Shougo commented Jul 9, 2021

https://github.com/tyru/eskk.vim/blob/master/autoload/eskk.vim#L2026

既に存在するテーブルは上書きできない模様です。

でも、実際にはいろいろな種類の文書をひとつの vim で編集したいので、できればバッファごとに設定できると嬉しいです。

要望としては分かるんですが、データ構造がグローバルになっておりこれをバッファーローカルに変更するのはすさまじく手間がかかるので無理といってよいでしょう。

@wakita
Copy link
Author

wakita commented Jul 9, 2021

ご回答ありがとうございました。今のやりかたが現実的な対処法なことがわかっただけでもありがたいです。

どうぞ、close して下さい。

@Shougo
Copy link
Collaborator

Shougo commented Jul 9, 2021

誰かが対処方法を見つけてくれるかもしれないので、一応残しておきます

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants