diff --git a/dot_config/nvim/lua/config/options.lua b/dot_config/nvim/lua/config/options.lua index a16964b..d7298b8 100644 --- a/dot_config/nvim/lua/config/options.lua +++ b/dot_config/nvim/lua/config/options.lua @@ -42,6 +42,35 @@ vim.api.nvim_set_keymap('n', '', 'yyP', { noremap = true, silent = tru vim.api.nvim_set_keymap('i', '', 'yypgi', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'yyPgi', { noremap = true, silent = true }) +-- -- 處理不同終端的行為 +-- -- 在 Insert Mode 下的 Ctrl+Enter 在下一行插入新行並保持 Insert 模式 +-- local term = vim.fn.getenv("TERM") +-- local term_program = vim.fn.getenv("TERM_PROGRAM") +-- if term_program == "iTerm.app" then +-- -- iTerm 的快捷鍵設置 +-- vim.api.nvim_set_keymap('i', '', 'o', { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap('i', '', 'O', { noremap = true, silent = true }) +-- elseif term == "alacritty" then +-- -- Alacritty 的快捷鍵設置 +-- vim.api.nvim_set_keymap('i', '', 'o', { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap('i', '', 'O', { noremap = true, silent = true }) +-- elseif term == "xterm-256color" then +-- -- xterm-256color 的快捷鍵設置 +-- vim.api.nvim_set_keymap('i', '', 'o', { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap('i', '', 'O', { noremap = true, silent = true }) +-- end + +-- 使用Ctrl(Alt)+Enter 在下一行插入新行並保持 Insert 模式 +-- 檢查 $TERM 或 $TERM_PROGRAM 的值 +-- Alacritty, GUI(Neovide, Goneovim) 皆可 +-- xterm-256color採用程式: Konsole, iTerm2, gnome-terminal 會有按鍵吃不到的問題,詳下述註解: +-- 使用Ctrl+Enter 在下一行插入新行並保持 Insert 模式(xterm-256color 吃不到) +vim.api.nvim_set_keymap('i', '', 'o', { noremap = true, silent = true }) +vim.api.nvim_set_keymap('i', '', 'O', { noremap = true, silent = true }) +-- 使用Alt+Enter 在下一行插入新行並保持 Insert 模式 +vim.api.nvim_set_keymap('i', '', 'o', { noremap = true, silent = true }) +vim.api.nvim_set_keymap('i', '', 'O', { noremap = true, silent = true }) -- xterm-256color 吃不到shift + -- 處理剪貼簿習慣對應(在Insert模式可使用慣用的快速鍵) vim.opt.keymodel = "startsel" -- 啟用 Shift + 方向鍵選取功能 vim.api.nvim_set_keymap('i', '', '"+pa', { noremap = true, silent = true }) -- Insert Mode 下的 Ctrl+V 貼上