Skip to content
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.
/ jieba_nvim Public archive

使用 jieba 对 nvim 中的句子进行分词来移动光标

License

Notifications You must be signed in to change notification settings

cathaysia/jieba_nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

说明

使用 jieba 对中文进行分词,增强了 vim 的 e,b 功能

预览

荷塘月色

构建

构建依赖为 lua-devel (fedora)、git、cmake、c++ 17

  1. git clone --depth=1 --recusive https://github.com:cathaysia/jieba_nvim.git
  2. cd jieba_nvim
  3. cmake -B build -DCMAKE_BUID_TYPE=Release
  4. cmake --build build
  5. cmake --install build --prefix=${HOME}

注意! --prefix=${HOME} 是必须的!!!

默认安装路径为 ${HOME}/.config/nvim/lua/。当然,你也可以手动将 build/libjiebamove.so 和 build/libjiebamove/data 拷贝到任意 lua 可以识别的路径,唯一的要求是 data 目录必须要荷 libjiebamove.so 位于同于路径

在 init.lua 中附加以下内容:

local jieba = require("libjiebamove")

function _G.move_chs(isRight)
    local row = vim.api.nvim_win_get_cursor(0)[1]
    local col = vim.api.nvim_win_get_cursor(0)[2]
    local content = vim.api.nvim_buf_get_lines(0,row-1,row,0)[1]
    local new_pos = jieba.getPos(content, col, isRight)
    print(new_pos)
    vim.api.nvim_win_set_cursor(0,{row,new_pos})
end


vim.api.nvim_set_keymap("n","e", ":lua move_chs(1)<CR>", {})
vim.api.nvim_set_keymap("n","b", ":lua move_chs(0)<CR>", {})

许可

注意:本仓库采用了 Apache 2.0 许可。简要来讲,以下为此许可赋予的权利:

  • 鼓励代码共享,允许代码修改,允许以闭源的形式再发布
  • 每个修改后的文件必须放置版权说明

此外,任何由此代码延伸的仓库中应当存在指向本仓库的链接和必要说明

About

使用 jieba 对 nvim 中的句子进行分词来移动光标

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published