SKK input method for Vim and Neovim, built on goda.vim. The successor of skkeleton: the same way of typing, with the input method written in Go and configured in Go — a small program you own.
Status: early. Conversion with okurigana, registering words, the user
dictionary and dictionary files, kakuteiUndo, insert mode, the command line
and terminal jobs work; the highlight of the pre-edit and the state popup
(skkeleton-henkan-highlight and skkeleton-state-popup) are built in, and
goda-cmp.vim completes readings
(the sources cmp/source/skk and cmp/source/skkokuri, the ddc.vim
sources of skkeleton). Besides dictionary files, an SKK server
(dictionary/skkserv) and Google Japanese Input (dictionary/google) can
be dictionaries.
A configuration with the completion of goda-cmp.vim, translated from a skkeleton one, is in examples/goda-cmp.
You need Go 1.26 or newer, Vim 9.1 or newer (with +job +channel +popupwin)
or Neovim 0.10 or newer, and an SKK dictionary (SKK-JISYO.L, say). Install
Shougo/goda.vim and Shougo/goda-skk.vim with your plugin manager, then
create your configuration, a Go module of your own (keep it in your
dotfiles; examples/config is only a template to copy):
mkdir -p ~/.vim/goda-skk && cd ~/.vim/goda-skk # Neovim: ~/.config/nvim/goda-skk
cp /path/to/goda-skk.vim/examples/config/main.go .
go mod init goda-skk-config
go get github.com/Shougo/goda-skk.vim@latest
go mod tidyThe configuration:
package main
import "github.com/Shougo/goda-skk.vim/engine"
func main() {
engine.Main(engine.Config{
Dictionaries: []engine.Dictionary{
engine.NewJisyo("~/.skk/SKK-JISYO.L", ""),
},
EggLikeNewline: true,
})
}Add to your vimrc / init.vim:
map! <C-j> <Plug>(goda-skk-enable)
tmap <C-j> <Plug>(goda-skk-enable)Then build it once (and after every change of the configuration):
:call goda_skk#build()In insert mode, and type: Kanji<Space> gives ▼漢字, confirms.
If nothing happens, :echo goda#log() shows what the plugin said.
Everything else is in :help goda_skk (doc/goda_skk.txt).
go test ./... # unit tests; also real Vim and Neovim if present
go test -short ./... # unit tests onlygoda-skk.vim is a port of skkeleton by kuuote: its kana tables and much of its logic come from skkeleton, under the zlib license (see NOTICE). Thanks!
MIT; see LICENSE. The parts from skkeleton: zlib, see NOTICE.