nvim 快速鍵整理

This commit is contained in:
Yuan Chiu 2025-04-29 09:30:31 +08:00
parent 22ea13668b
commit 2c2f0f3895
2 changed files with 29 additions and 13 deletions

View File

@ -3,16 +3,33 @@ Yuan Neovim 備忘
## 基本快速鍵
重要鍵
### 重要鍵
* leader key: `\`
* window key: `ctrl+w`
* move cursor: <window>(方向鍵)
擴充自行設定的快速鍵
* `F9`: NeoTree
### 擴充自行設定的快速鍵
* `<F9>`: NeoTree
* `<leader>fT`: 叫出git status
編輯習慣(已經覆寫)
*
#### 預計設定
* <F8> 看看你設定了哪些變數、函數,也可以快速跳轉
* <F6> 可以回朔到開啟檔案以來的任何歷史,還會標出修改的地方
### 編輯習慣(已經覆寫)
* shift+方向鍵(傳統): 選取文字(傳統習慣)
* PS. 不能用jk是因為 shift+j shift+k有被其他功能綁定不覆寫是想順便習慣vim用法
* alt+方向鍵(傳統/jk):移動整行
* ctrl+alt+shaft+方向鍵(傳統/jk):向上/向下複製整行
* tab縮排(含輸入模式的shift+tab傳統習慣對應)
#### 剪貼簿
* 輸入模式
* ctrl+v: 貼上
* 選取模式
* ctrl+x: 剪下
* ctrl+c: 複製
* ctrl+v: 取代貼上
## 基本Command

View File

@ -23,6 +23,13 @@ vim.opt.scrolloff = 3 -- 捲動時保留 n 行彈性
require("config.listchars") -- 顯示行尾符號
vim.opt.list = true
-- 處理剪貼簿習慣對應在Insert模式可使用慣用的快速鍵
vim.opt.keymodel = "startsel" -- 啟用 Shift + 方向鍵選取功能
vim.api.nvim_set_keymap('i', '<C-v>', '<Esc>"+pa', { noremap = true, silent = true }) -- Insert Mode 下的 Ctrl+V 貼上
vim.api.nvim_set_keymap('v', '<C-c>', '"+y', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+C 複製
vim.api.nvim_set_keymap('v', '<C-x>', '"+d', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+X 剪下
vim.api.nvim_set_keymap('v', '<C-v>', '"+p', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+V 貼上
-- 整行移動的快速鍵
vim.api.nvim_set_keymap('n', '<A-j>', ':m .+1<CR>==', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<A-k>', ':m .-2<CR>==', { noremap = true, silent = true })
@ -43,7 +50,6 @@ vim.api.nvim_set_keymap('n', '<C-A-S-k>', 'yyP', { noremap = true, silent = true
-- Ctrl+Alt+Shift+方向鍵 複製整行並向下/向上貼上
vim.api.nvim_set_keymap('n', '<C-A-S-Down>', 'yyp', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<C-A-S-Up>', 'yyP', { noremap = true, silent = true })
-- Insert Mode 下的 Ctrl+Alt+Shift+方向鍵 複製整行並向下/向上貼上
vim.api.nvim_set_keymap('i', '<C-A-S-Down>', '<Esc>yypgi', { noremap = true, silent = true })
vim.api.nvim_set_keymap('i', '<C-A-S-Up>', '<Esc>yyPgi', { noremap = true, silent = true })
@ -76,13 +82,6 @@ vim.api.nvim_set_keymap('i', '<C-S-CR>', '<Esc>O', { noremap = true, silent = tr
vim.api.nvim_set_keymap('i', '<A-CR>', '<Esc>o', { noremap = true, silent = true })
vim.api.nvim_set_keymap('i', '<A-S-CR>', '<Esc>O', { noremap = true, silent = true }) -- xterm-256color 吃不到shift
-- 處理剪貼簿習慣對應在Insert模式可使用慣用的快速鍵
vim.opt.keymodel = "startsel" -- 啟用 Shift + 方向鍵選取功能
vim.api.nvim_set_keymap('i', '<C-v>', '<Esc>"+pa', { noremap = true, silent = true }) -- Insert Mode 下的 Ctrl+V 貼上
vim.api.nvim_set_keymap('v', '<C-c>', '"+y', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+C 複製
vim.api.nvim_set_keymap('v', '<C-x>', '"+d', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+X 剪下
vim.api.nvim_set_keymap('v', '<C-v>', '"+p', { noremap = true, silent = true }) -- Visual Mode 下的 Ctrl+V 貼上
-- 啟用 Tab 縮排
vim.api.nvim_set_keymap('n', '<TAB>', 'v>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<S-TAB>', 'v<', { noremap = true, silent = true })