Vietnamese.nvim giúp bạn gõ tiếng Việt dễ dàng trong Neovim, hỗ trợ logic xử lý dấu câu tự động, tương thích nhiều IME (ibus, fcitx5…), và tích hợp mượt với nhiều plugin khác.
Lazy.nvim:
{
"sontungexpt/vietnamese.nvim",
dependencies = {
-- if you want to map jj or any key to escape
"sontungexpt/bim.nvim",
},nvim-web-devicons
event = "InsertEnter",
config = function(
require("vietnamese").setup()
end,
}
Packer.nvim:
use {
"sontungexpt/vietnamese.nvim",
config = function()
require("vietnamese").setup()
end,
}
Bạn có thể tùy chỉnh `telex`, `vni`, hoặc các nút xoá dấu trong file `lua/vietnamese/config.lua`. Ví dụ:
require("vietnamese").setup({
enabled = true, -- Bật plugin
input_method = "telex", -- Hoặc "vni" (hiện tại chỉ hỗ trợ telex đơn giản)
excluded = {
filetypes = {
"nvimtree", -- Loại filetypes
"help",
}, -- File types to exclude
buftypes = {
"nowrite",
"quickfix",
"prompt",
}, -- Loại buffer types
},
custom_methods =
-- Tự tạo riêng intput methods của mình
-- Tạm thời mọi người đừng tự tạo bởi vì mình chưa test (này edge case nên để sau)
-- Còn néu muôn tạo thì mọi người làm giống trong file config của telex là được
name = {
-- nhớ import ENUM_DIACRITIC from vietnamese.constant trên đầu file config để lấy enum
-- local ENUM_DIACRITIC = require("vietnamese.constant").Diacritic
tone_keys = {
["s"] = ENUM_DIACRITIC.Acute,
["f"] = ENUM_DIACRITIC.Grave,
["r"] = ENUM_DIACRITIC.Hook,
["x"] = ENUM_DIACRITIC.Tilde,
["j"] = ENUM_DIACRITIC.Dot,
},
tone_removal_keys = {
["z"] = true,
},
shape_keys = {
w = {
a = ENUM_DIACRITIC.Breve,
o = ENUM_DIACRITIC.Horn,
u = ENUM_DIACRITIC.Horn,
e = ENUM_DIACRITIC.Circumflex,
},
a = {
a = ENUM_DIACRITIC.Circumflex,
},
e = {
e = ENUM_DIACRITIC.Circumflex,
},
o = {
o = ENUM_DIACRITIC.Circumflex,
},
d = {
d = ENUM_DIACRITIC.HorizontalStroke,
},
},
-- Check if a character is a valid input character to make a Vietnamese character
--
is_diacritic_pressed = function(char)
return char:lower():match("[sfrxjzawdeo]") ~= nil
end,
}
},
})
Command:
Rất hoan nghênh issue & pull request! Bạn có thể:
Được phát hành với giấy phép Apache Licence 2.0 – xem file LICENSE