Skip to content

Latest commit

History

History
55 lines (40 loc) 路 1.64 KB

File metadata and controls

55 lines (40 loc) 路 1.64 KB

nihongo.nvim 馃嚡馃嚨

A modern, high-performance, treesitter-aware Neovim plugin written in pure Lua, designed to perfect the Japanese text editing and keyboard workflow for developers.

Neovim License

Features

  • Japanese Semantic Motions: Jump by actual Japanese words (nouns, particles, verbs) using w, b, and e instead of skipping entire paragraphs. Powered by a lightweight, zero-dependency Lua morphological segmenter.
  • Context-Aware IME Auto-Toggle: Automatically switches your input method (IME) state. Keeps IME off when writing code, toggles it on when entering comments, docstrings, or markdown files, and instantly resets it to ASCII when leaving Insert mode.
  • Romaji-to-Japanese Fuzzy Search: Integrate with Telescope or fzf-lua to search your codebase using Romaji input (e.g., typing kensaku to match 妞滅储).

Installation

Using lazy.nvim:

{
  "username/nihongo.nvim",
  dependencies = { "nvim-treesitter/nvim-treesitter" },
  config = function()
    require("nihongo").setup({})
  end
}

Configuration

Here are the default settings:

require("nihongo").setup({
  motion = {
    enabled = true,
    override_defaults = true,
  },
  ime = {
    enabled = true,
    default_ime = "1",
    japanese_ime = "2",
  },
})

License

This project is licensed under the MIT License. See LICENSE for details. Created and maintained by Takumi.