jieba.nvim

readthedocs pre-commit.ci status github/workflow

github/downloads github/downloads/latest github/issues github/issues-closed github/issues-pr github/issues-pr-closed github/discussions github/milestones github/forks github/stars github/watchers github/contributors github/commit-activity github/last-commit github/release-date

github/license github/languages github/languages/top github/directory-file-count github/code-size github/repo-size github/v

luarocks

Use C/C++ to realize Chinese w/b/e/ge for neovim.

Related Projects

Similar Projects

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
generated by LDoc 1.5.0 Last updated 2025-12-30 07:02:43