jieba.nvim
Use C/C++ to realize Chinese w/b/e/ge for neovim.
Related Projects
- coc-ci: based on segmentit. Written in nodejs.
- jieba.nvim: based on jieba-lua. Written in lua.
- jieba.vim: based on jieba-rs Written in python and rust.
- jieba_nvim: based on cppjieba. Written in C++. Stop maintenance. This project is a rewrite of it.
Similar Projects
- deno-bridge-jieba: based on deno-jieba. Written in denojs use and wasm.
- vscode-jieba: based on jieba-rs. Written in rust and use wasm. Support Vim mode and Emacs mode.
Install
rocks.nvim
Command style
:Rocks install jieba.nvim
Declare style
~/.config/nvim/rocks.toml:
[plugins] "jieba.nvim" = "scm"
Then
:Rocks sync
or:
$ luarocks --lua-version 5.1 --local --tree ~/.local/share/nvim/rocks install jieba.nvim # ~/.local/share/nvim/rocks is the default rocks tree path # you can change it according to your vim.g.rocks_nvim.rocks_path
lazy.nvim
require("lazy").setup { spec = { { "Freed-Wu/jieba.nvim", lazy = false }, }, }
Configure
Keymap
Be default, add keymaps for b/B/w/W/e/E/ge/gE. you can enable more:
vim.keymap.set("n", "ce", function() require("jieba.nvim").wordmotion_change_w() end, { noremap = false, silent = true }) vim.keymap.set("n", "de", function() require("jieba.nvim").wordmotion_delete_w() end, { noremap = false, silent = true }) vim.keymap.set("n", "viw", function() require("jieba.nvim").wordmotion_select_w() end, { noremap = false, silent = true })
Dictionary
By default, it doesn't use any user dictionary. You can:
require"jieba.jieba".Jieba.paths.user_dict_path = "/the/path/of/my/user.dict.utf8"
HMM
HMM can provide higher precision. You can disable it by:
require"jieba.jieba".Jieba.hmm = false