From beffd4a4896023a6a64a1fe7cbcd67d7cc5fee7b Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Mon, 28 Apr 2025 11:36:52 +0800 Subject: [PATCH] =?UTF-8?q?feat=20nvim:=20=E8=AA=BF=E6=95=B4=E7=B7=A8?= =?UTF-8?q?=E8=BC=AF=E6=A8=A1=E5=BC=8F=E5=BF=AB=E9=80=9F=E9=8D=B5=E6=88=90?= =?UTF-8?q?=E6=88=91=E5=8E=9F=E6=9C=AC=E7=9A=84=E7=BF=92=E6=85=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dot_config/nvim/lua/config/options.lua | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/dot_config/nvim/lua/config/options.lua b/dot_config/nvim/lua/config/options.lua index 1f85696..5b9a838 100644 --- a/dot_config/nvim/lua/config/options.lua +++ b/dot_config/nvim/lua/config/options.lua @@ -1,6 +1,37 @@ +-- 編輯器系統設定 +vim.api.nvim_set_option("clipboard", "unnamedplus") -- 使用系統剪貼簿(Wayland有直接支援,不須依賴vim-wayland-clipboard) +vim.opt.confirm = true -- 操作過程有衝突時,以明確的文字來詢問 + +-- 編碼設定 +vim.opt.encoding = "utf-8" +vim.opt.fileencodings = { "utf-8", "cp950" } +vim.opt.enc = "utf-8" + +-- 設定編輯選項 vim.opt.number = true -- 顯示行號 vim.opt.relativenumber = false -- 相對行號 vim.opt.tabstop = 4 -- tab鍵寬度 vim.opt.shiftwidth = 4 -- 自動縮排寬度 vim.opt.expandtab = true -- 使用空格代替tab vim.opt.termguicolors = true -- 支持真彩色 +vim.opt.colorcolumn = "80,120" -- 顯示編輯器建議寬度 +vim.opt.scrolloff = 3 -- 捲動時保留 n 行彈性 +vim.opt.history = 10000 -- 設定命令歷史記錄數量為 10000 + +-- 處理剪貼簿習慣對應(在Insert模式可使用慣用的快速鍵) +vim.opt.keymodel = "startsel" -- 啟用 Shift + 方向鍵選取功能 +vim.api.nvim_set_keymap('i', '', '"+pa', { noremap = true, silent = true }) -- Insert Mode 下的 Ctrl+V 貼上 +vim.api.nvim_set_keymap('v', '', '"+y', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+C 複製 +vim.api.nvim_set_keymap('v', '', '"+d', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+X 剪下 +vim.api.nvim_set_keymap('v', '', '"+p', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+V 貼上 + +-- 啟用 Tab 縮排 +vim.api.nvim_set_keymap('n', '', 'v>', { noremap = true, silent = true }) +vim.api.nvim_set_keymap('n', '', 'v<', { noremap = true, silent = true }) +vim.api.nvim_set_keymap('v', '', '>gv', { noremap = true, silent = true }) +vim.api.nvim_set_keymap('v', '', '', '', { noremap = true, silent = true }) -- Insert Mode 下的 Shift+Tab 退縮排 + +-- 透過 v 選取整行縮排後,不取消選取整行 +vim.api.nvim_set_keymap('v', '<', '', '>gv', { noremap = true, silent = true }) \ No newline at end of file