🔖
skkeletonのTips
はじめに
この記事はVim駅伝の10月2日の記事です。
skkeletonの小ネタをいくつか紹介します。
Escでヤンクする
この記事を書くきっかけになったメインコンテンツです。
VimをIMEとして使用するにはクリップボード経由でコピペする必要があります。[1]
手でやるのは面倒なので、8つ目の記事や58つ目の記事等いろいろと工夫されています。
(私は単にワークスペースに常駐してるVimからヤンクしていました。nnoremap yss "+yy
)
そんな中、slackで見かけたNI57721さんの設定がこれです。
autocmd InsertLeave * if g:skkeleton#state.phase !=# 'input' |
\ call job_start(['wl-copy', '--', getline('.')]) |
\ endif
文字を打ったらノーマルモードに戻るのは同じなのでひと手間減りました。最高ですね。
条件は好みの問題なので以下のようにしました。
command SKKON let g:skk_yank = v:true
autocmd InsertLeave * if g:skk_yank | let @+ = getline('.') | endif
IME用Vimを起動したらコマンドを実行すれば問答無用でヤンクされます。
辞書をdeinで管理する
SKK-JISYOはgithubに置いてあるのでdeinでプラグインと同じようにインストールや更新ができてしまいます。
deinの悪用です。
"toml
[[plugins]]
repo = 'skk-dev/dict'
"vimrc
function! s:skkeleton_init() abort
call skkeleton#config({
\ 'globalJisyo' : '~/.cache/dein/repos/github.com/skk-dev/dict/SKK-JISYO.L',
\ })
endfunction
カタカナのトグルをやめる
デフォルトの katakana をかなテーブルからマッピングに変更することでカナモードから、かなモードに戻らないようにします。
call skkeleton#register_kanatable('rom', {'q': ['']})
call skkeleton#register_keymap('henkan', "q", 'katakana')
autocmd User skkeleton-mode-changed call s:kata()
function! s:kata()
if g:skkeleton#mode ==# 'hira'
call skkeleton#register_keymap('input', "q", 'katakana')
elseif g:skkeleton#mode ==# 'kata'
call skkeleton#register_keymap('input', "q", '')
endif
endfunction
zkで矢印
他のIMEにもあるzから始まる記号系も変換できます。
z( | ( |
z) | ) |
z, | ‥ |
z- | ~ |
z. | … |
z/ | ・ |
z[ | 『 |
z] | 』 |
z<スペース> | 全角スペース |
zh | ← |
zj | ↓ |
zk | ↑ |
zl | → |
モードを表示する
ステータスラインではlightline.vim用のプラグインがあります。
カーソル付近に表示するプラグインもあります。
-
ブラウザならGhostTextという手段もあります。gamoutatsumi/dps-ghosttext.vim ↩︎
Discussion