" /data/newvim/old/conf/plug/skkeleton.lua function s:initialize() abort let local = expand('$VIMCONF/local/SKK-JISYO.local') let s:dicts = getftype(local) ==# 'file' ? [[local, 'utf-8']] : [] let s:dicts += [ \ [printf('%s/SKK-JISYO.k', dpp#get('mydicts').path), 'utf-8'], \ [printf('%s/SKK-JISYO.L', dpp#get('dict').path), 'euc-jp'], \ ] call skkeleton#config(#{ \ eggLikeNewline: v:true, \ markerHenkan: '', \ markerHenkanSelect: '', \ registerConvertResult: v:true, \ showCandidatesCount: 1, \ globalDictionaries: s:dicts, \ }) let s:kanatable = {} " USキーボードの n' で「ん」を打てるやつをJISキーボードでもやる let s:kanatable['n:'] = ['ん', ''] " hokan de dasita kouho kesu let s:kanatable['xx'] = 'purgeCandidate' call skkeleton#register_kanatable('rom', s:kanatable) endfunction autocmd vimrc User skkeleton-initialize-pre call s:initialize() " ddc.vim integration autocmd vimrc User skkeleton-enable-post call ddc#custom#set_buffer( \ #{ \ backspaceCompletion: v:true, \ sources: ['skkeleton', 'skkeleton_okuri'], \ specialBufferCompletion: v:true \ }) autocmd vimrc User skkeleton-disable-post call ddc#custom#set_buffer({}) " 変換ポイント切ってる時だけcursorlineを表示する let s:cursorline_phase = { \ 'input:okurinasi': v:true, \ 'input:okuriari': v:true, \ 'henkan': v:true, \ } function s:cursorline() abort let phase = g:skkeleton#state.phase if has_key(s:cursorline_phase, phase) setlocal cursorline else setlocal nocursorline endif endfunction autocmd vimrc User skkeleton-handled call s:cursorline() autocmd vimrc User skkeleton-disable-post setlocal nocursorline function s:azik() abort call skkeleton#azik#add_table('us') call skkeleton#config(#{kanaTable: 'azik'}) " base: https://github.com/NI57721/dotfiles/blob/79d2decf4b1e2bf5522c3af5f0ffdefd87b7ff50/.config/vim/vimrc#L378 " see also: https://zenn.dev/vim_jp/articles/my-azik-is-burning " sticky keyが無いと生きていけない call skkeleton#register_kanatable('azik', {"'": 'disable'}) call skkeleton#register_kanatable('azik', {':': 'disable'}) call skkeleton#register_kanatable('azik', {"n'": ['ん']}) call skkeleton#register_kanatable('azik', {"n:": ['ん']}) call skkeleton#register_kanatable('azik', {"z\<Space>": [' ']}) call skkeleton#register_kanatable('azik', {'l': ['っ']}) call skkeleton#register_kanatable('azik', {'q': 'katakana'}) " 小文字 call skkeleton#register_kanatable('azik', {'xxa': ['ぁ']}) call skkeleton#register_kanatable('azik', {'xxi': ['ぃ']}) call skkeleton#register_kanatable('azik', {'xxu': ['ぅ']}) call skkeleton#register_kanatable('azik', {'xxe': ['ぇ']}) call skkeleton#register_kanatable('azik', {'xxo': ['ぉ']}) call skkeleton#register_kanatable('azik', {'xxo': ['ぉ']}) call skkeleton#register_kanatable('azik', {'xxya': ['ゃ']}) call skkeleton#register_kanatable('azik', {'xxyu': ['ゅ']}) call skkeleton#register_kanatable('azik', {'xxyo': ['ょ']}) call skkeleton#register_kanatable('azik', {'xxwa': ['ゎ']}) " patched call skkeleton#register_kanatable('azik', {'byo': ['びょ']}) call skkeleton#register_keymap('input', ';', 'henkanPoint') endfunction command! SKKAzik call s:azik() call s:azik() function! s:tsuki() abort lua require('vimrc.plug.skkeleton.tsuki2-263mod')() tabedit setlocal buftype=nofile bufhidden=hide noswapfile call setline(1, readfile(expand('$VIMCONF/lua/vimrc/plug/skkeleton/tsukimod.txt'))) vsplit endfunction command! SKKTsuki call s:tsuki()