diff options
| -rw-r--r-- | vim/init/keymaps.vim | 66 | ||||
| -rw-r--r-- | vim/lua/chadrc.lua | 13 | ||||
| -rw-r--r-- | vim/lua/configs/telescope.lua | 6 |
3 files changed, 57 insertions, 28 deletions
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim index 2475ad8..68a82a5 100644 --- a/vim/init/keymaps.vim +++ b/vim/init/keymaps.vim | |||
| @@ -2,18 +2,19 @@ | |||
| 2 | " | 2 | " |
| 3 | " Only for key mapping | 3 | " Only for key mapping |
| 4 | " | 4 | " |
| 5 | " - COMMON_MAPPING | 5 | " COMMON_MAPPING |
| 6 | " - MANAGE_VIMRC | 6 | " MANAGE_VIMRC |
| 7 | " - MOVING_WITH_READLINE | 7 | " MOVING_WITH_READLINE |
| 8 | " - INSERT_SURROUNDING | 8 | " INSERT_SURROUNDING |
| 9 | " - JUMP_TO_TABS_WITH_ALT | 9 | " JUMP_TO_TABS_WITH_ALT |
| 10 | " - MANAGE_TABS | 10 | " MANAGE_TABS |
| 11 | " - MANAGE_BUFFERS | 11 | " MANAGE_BUFFERS |
| 12 | " - SURROURD_WITH_CHAR | 12 | " FOLDING |
| 13 | " - REDIRECTION_WITH_BUFFER | 13 | " SURROURD_WITH_CHAR |
| 14 | " - QUICK_SUBSTITUTE | 14 | " REDIRECTION_WITH_BUFFER |
| 15 | " - 终端支持 | 15 | " QUICK_SUBSTITUTE |
| 16 | " - 编译运行 | 16 | " 终端支持 |
| 17 | " 编译运行 | ||
| 17 | " | 18 | " |
| 18 | "====================================================================== | 19 | "====================================================================== |
| 19 | " vim: set ts=4 sw=4 tw=78 noet : | 20 | " vim: set ts=4 sw=4 tw=78 noet : |
| @@ -54,12 +55,6 @@ nmap cq :cq<CR> | |||
| 54 | " Switch wrap | 55 | " Switch wrap |
| 55 | nmap <leader>W :set wrap!<CR> | 56 | nmap <leader>W :set wrap!<CR> |
| 56 | 57 | ||
| 57 | " Show fold level when it changes | ||
| 58 | nnoremap zm zm:set foldlevel<CR> | ||
| 59 | nnoremap zr zr:set foldlevel<CR> | ||
| 60 | " Use l to open fold | ||
| 61 | nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo' | ||
| 62 | |||
| 63 | " :W sudo saves the file | 58 | " :W sudo saves the file |
| 64 | " (useful for handling the permission-denied error) | 59 | " (useful for handling the permission-denied error) |
| 65 | command! W execute 'w !sudo -S tee %' <bar> edit! | 60 | command! W execute 'w !sudo -S tee %' <bar> edit! |
| @@ -265,7 +260,6 @@ noremap <leader>l :exe "buffer ".g:lastbuffer<CR> | |||
| 265 | 260 | ||
| 266 | " set filetype | 261 | " set filetype |
| 267 | noremap <leader><leader>ft :set filetype= | 262 | noremap <leader><leader>ft :set filetype= |
| 268 | noremap <leader><leader>fm :set foldmethod= | ||
| 269 | 263 | ||
| 270 | " Let <leader>l toggle between this and the last accessed buffer | 264 | " Let <leader>l toggle between this and the last accessed buffer |
| 271 | augroup SaveLastBuffer | 265 | augroup SaveLastBuffer |
| @@ -275,6 +269,23 @@ augroup END | |||
| 275 | 269 | ||
| 276 | 270 | ||
| 277 | "---------------------------------------------------------------------- | 271 | "---------------------------------------------------------------------- |
| 272 | " FOLDING | ||
| 273 | "---------------------------------------------------------------------- | ||
| 274 | |||
| 275 | " Set foldmethod | ||
| 276 | noremap <leader><leader>fm :set foldmethod= | ||
| 277 | |||
| 278 | " Show fold level when it changes | ||
| 279 | nnoremap zm zm:set foldlevel<CR> | ||
| 280 | nnoremap zr zr:set foldlevel<CR> | ||
| 281 | " Use l to open fold | ||
| 282 | nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo' | ||
| 283 | " Open fold in next line | ||
| 284 | nnoremap <expr> zo foldclosed('.') == -1 ? 'jzo' : 'zo' | ||
| 285 | nnoremap <expr> zO foldclosed('.') == -1 ? 'jzO' : 'zO' | ||
| 286 | |||
| 287 | |||
| 288 | "---------------------------------------------------------------------- | ||
| 278 | " SURROURD_WITH_CHAR | 289 | " SURROURD_WITH_CHAR |
| 279 | "---------------------------------------------------------------------- | 290 | "---------------------------------------------------------------------- |
| 280 | vnoremap S sa | 291 | vnoremap S sa |
| @@ -323,26 +334,31 @@ nnoremap <leader>rr :Redir<space> | |||
| 323 | " Press <TAB> n times for area, and <CR> for substitute | 334 | " Press <TAB> n times for area, and <CR> for substitute |
| 324 | "---------------------------------------------------------------------- | 335 | "---------------------------------------------------------------------- |
| 325 | 336 | ||
| 337 | " substitute across file | ||
| 338 | vnoremap <leader>s y:%s//<C-R>0/g<LEFT><LEFT> | ||
| 339 | |||
| 326 | let g:search_not_in_register = 1 | 340 | let g:search_not_in_register = 1 |
| 341 | " When leaving visual mode, resume search_not_in_register | ||
| 342 | autocmd Modechanged [vV\x16]*:* let g:search_not_in_register = 1 | ||
| 343 | |||
| 327 | function! ExpandSelectionBySearch(sep) | 344 | function! ExpandSelectionBySearch(sep) |
| 328 | if g:search_not_in_register | 345 | if g:search_not_in_register |
| 329 | " Save current selection to register s, and keep selection | 346 | " Save current selection to register, and keep selection |
| 330 | execute 'norm "sygv' | 347 | execute 'norm ygv' |
| 331 | let g:search_not_in_register = 0 | 348 | let g:search_not_in_register = 0 |
| 332 | endif | 349 | endif |
| 333 | " Use register s to go to next search, counts/total is displayed in | 350 | " Use register s to go to next search, counts/total is displayed in |
| 334 | " statusline | 351 | " statusline |
| 335 | call feedkeys(a:sep.."\<C-R>s"..a:sep.."e\<CR>") | 352 | call feedkeys(a:sep.."\<C-R>0"..a:sep.."e\<CR>") |
| 336 | endfunction | 353 | endfunction |
| 337 | function! SubstituteBySearch() | 354 | function! SubstituteBySearch() |
| 338 | " Apply current search for default substitute text | 355 | " Apply current search for default substitute text |
| 339 | call feedkeys(":s//\<C-R>s/g\<Left>\<Left>") | 356 | call feedkeys(":s//\<C-R>0/g\<Left>\<Left>") |
| 340 | endfunction | 357 | endfunction |
| 358 | |||
| 341 | vnoremap <TAB> <Cmd>call ExpandSelectionBySearch('/')<CR> | 359 | vnoremap <TAB> <Cmd>call ExpandSelectionBySearch('/')<CR> |
| 342 | vnoremap <S-TAB> <Cmd>call ExpandSelectionBySearch('?')<CR> | 360 | vnoremap <S-TAB> <Cmd>call ExpandSelectionBySearch('?')<CR> |
| 343 | vnoremap <CR> <Cmd>call SubstituteBySearch()<CR> | 361 | vnoremap <CR> <Cmd>call SubstituteBySearch()<CR> |
| 344 | " When leaving visual mode, resume search_not_in_register | ||
| 345 | autocmd Modechanged [vV\x16]*:* let g:search_not_in_register = 1 | ||
| 346 | 362 | ||
| 347 | 363 | ||
| 348 | "---------------------------------------------------------------------- | 364 | "---------------------------------------------------------------------- |
diff --git a/vim/lua/chadrc.lua b/vim/lua/chadrc.lua index 28e240f..267949f 100644 --- a/vim/lua/chadrc.lua +++ b/vim/lua/chadrc.lua | |||
| @@ -15,6 +15,19 @@ M.ui = { | |||
| 15 | enabled = true, | 15 | enabled = true, |
| 16 | order = { "treeOffset", "buffers", "tabs" }, | 16 | order = { "treeOffset", "buffers", "tabs" }, |
| 17 | }, | 17 | }, |
| 18 | |||
| 19 | term = { | ||
| 20 | hl = "Normal:term,WinSeparator:WinSeparator", | ||
| 21 | sizes = { sp = 0.4, vsp = 0.4 }, | ||
| 22 | float = { | ||
| 23 | relative = "editor", | ||
| 24 | row = 0.15, | ||
| 25 | col = 0.13, | ||
| 26 | width = 0.7, | ||
| 27 | height = 0.7, | ||
| 28 | border = "single", | ||
| 29 | }, | ||
| 30 | }, | ||
| 18 | } | 31 | } |
| 19 | 32 | ||
| 20 | -- For tabufline | 33 | -- For tabufline |
diff --git a/vim/lua/configs/telescope.lua b/vim/lua/configs/telescope.lua index 08c4d10..29668bb 100644 --- a/vim/lua/configs/telescope.lua +++ b/vim/lua/configs/telescope.lua | |||
| @@ -4,9 +4,9 @@ return { | |||
| 4 | i = { | 4 | i = { |
| 5 | -- ["<c-j>"] = "move_selection_next", | 5 | -- ["<c-j>"] = "move_selection_next", |
| 6 | -- ["<c-k>"] = "move_selection_previous", | 6 | -- ["<c-k>"] = "move_selection_previous", |
| 7 | ["<C-e>"] = require("telescope.actions.layout").toggle_preview, | 7 | ["<C-o>"] = require("telescope.actions.layout").toggle_preview, |
| 8 | ["<C-u>"] = false, | 8 | ["<C-u>"] = false, |
| 9 | ["<C-o>"] = function(p_bufnr) | 9 | ["<C-q>"] = function(p_bufnr) |
| 10 | require("telescope.actions").send_selected_to_qflist(p_bufnr) | 10 | require("telescope.actions").send_selected_to_qflist(p_bufnr) |
| 11 | vim.cmd.cfdo("edit") | 11 | vim.cmd.cfdo("edit") |
| 12 | end, | 12 | end, |
| @@ -37,7 +37,7 @@ return { | |||
| 37 | n = { | 37 | n = { |
| 38 | ["<c-d>"] = "delete_buffer", | 38 | ["<c-d>"] = "delete_buffer", |
| 39 | } | 39 | } |
| 40 | } | 40 | }, |
| 41 | }, | 41 | }, |
| 42 | 42 | ||
| 43 | }, | 43 | }, |