rimeinn
coc-rime
TypeScript

ㄓ Rime input method source for coc.nvim

Last updated Feb 12, 2026
36
Stars
2
Forks
3
Issues
0
Stars/day
Attention Score
34
Language breakdown
TypeScript 68.9%
C++ 28.3%
JavaScript 1.9%
Xmake 0.6%
Nix 0.3%
Files click to expand
README

coc-rime

pre-commit.ci status github/workflow

Rime input method integration of coc.nvim

This extension is created by create-coc-extension

screenshot

screencast

This project is consist of two parts:

  • A nodejs binding of librime
  • A librime frontend on coc.nvim

Dependencies

For build, need extra them:
# Ubuntu
sudo apt-get -y install pkg-config librime-dev librime1 xmake
sudo apt-mark auto librime-dev pkg-config xmake

ArchLinux

sudo pacman -S pkg-config librime xmake

Android Termux

apt-get -y install pkg-config librime xmake

Nix

without any extra operation

homebrew

brew install pkg-config librime xmake

Windows msys2

pacboy -S --noconfirm pkg-config librime gcc xmake

Install

" command line
CocInstall coc-rime
" or add the following code to your vimrc
let g:cocglobalextensions = ['coc-rime', 'other coc-plugins']

Usage

Binding

import {
    Session
} from 'coc-rime/session';
import {
    UI
} from 'coc-rime/ui';

let session = new Session(); let ui = new UI(); if (not session.process_key('n'.charCodeAt(0), 0)) throw Error; let context = session.get_context(); if (context === null) throw Error; let content, _ = ui.draw(context); console.log(content.join("\n"));

n|
[① 你]② 那 ③ 呢 ④ 能 ⑤ 年 ⑥ 您 ⑦ 内 ⑧ 拿 ⑨ 哪 ⓪ 弄 |>

Frontend

Commands

  • rime.source.enable: enable this source temporarily.
  • rime.source.disable: disable this source temporarily.
  • rime.source.toggle: temporarily toggle the status of the source.
  • rime.enable: enable this IME temporarily.
  • rime.disable: disable this IME temporarily.
  • rime.toggle: toggle this IME temporarily.

Lists

You could use CocList to switch between schema.

:CocList rime_schema

User Configuration

  • rime.enabled: Whether to enable this source.
  • rime.priority: The priority of this completion source.
  • rime.schemaId: The schemaId selected when coc-rime start.
You could get it from rime_schema list.
  • rime.priority: Priority of Rime completion source
  • rime.traits.shareddatadir: Path(s) where rime data stores
  • rime.traits.userdatadir: Path(s) where rime configuration stores
  • rime.traits.*: More rime traits
  • rime.ui.*: The symbols used for IME UI

Limitations

  • It will break all imap <Buffer> created by other plugins, such as
vim-peekaboo's <C-R>.

License

MIT

Similar Projects

Active maintenance.
🔗 More in this category

© 2026 GitRepoTrend · rimeinn/coc-rime · Updated daily from GitHub