aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim')
-rw-r--r--vim/init/keymaps.vim66
-rw-r--r--vim/lua/chadrc.lua13
-rw-r--r--vim/lua/configs/telescope.lua6
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
55nmap <leader>W :set wrap!<CR> 56nmap <leader>W :set wrap!<CR>
56 57
57" Show fold level when it changes
58nnoremap zm zm:set foldlevel<CR>
59nnoremap zr zr:set foldlevel<CR>
60" Use l to open fold
61nnoremap <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)
65command! W execute 'w !sudo -S tee %' <bar> edit! 60command! 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
267noremap <leader><leader>ft :set filetype= 262noremap <leader><leader>ft :set filetype=
268noremap <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
271augroup SaveLastBuffer 265augroup SaveLastBuffer
@@ -275,6 +269,23 @@ augroup END
275 269
276 270
277"---------------------------------------------------------------------- 271"----------------------------------------------------------------------
272" FOLDING
273"----------------------------------------------------------------------
274
275" Set foldmethod
276noremap <leader><leader>fm :set foldmethod=
277
278" Show fold level when it changes
279nnoremap zm zm:set foldlevel<CR>
280nnoremap zr zr:set foldlevel<CR>
281" Use l to open fold
282nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo'
283" Open fold in next line
284nnoremap <expr> zo foldclosed('.') == -1 ? 'jzo' : 'zo'
285nnoremap <expr> zO foldclosed('.') == -1 ? 'jzO' : 'zO'
286
287
288"----------------------------------------------------------------------
278" SURROURD_WITH_CHAR 289" SURROURD_WITH_CHAR
279"---------------------------------------------------------------------- 290"----------------------------------------------------------------------
280vnoremap S sa 291vnoremap 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
338vnoremap <leader>s y:%s//<C-R>0/g<LEFT><LEFT>
339
326let g:search_not_in_register = 1 340let g:search_not_in_register = 1
341" When leaving visual mode, resume search_not_in_register
342autocmd Modechanged [vV\x16]*:* let g:search_not_in_register = 1
343
327function! ExpandSelectionBySearch(sep) 344function! 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>")
336endfunction 353endfunction
337function! SubstituteBySearch() 354function! 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>")
340endfunction 357endfunction
358
341vnoremap <TAB> <Cmd>call ExpandSelectionBySearch('/')<CR> 359vnoremap <TAB> <Cmd>call ExpandSelectionBySearch('/')<CR>
342vnoremap <S-TAB> <Cmd>call ExpandSelectionBySearch('?')<CR> 360vnoremap <S-TAB> <Cmd>call ExpandSelectionBySearch('?')<CR>
343vnoremap <CR> <Cmd>call SubstituteBySearch()<CR> 361vnoremap <CR> <Cmd>call SubstituteBySearch()<CR>
344" When leaving visual mode, resume search_not_in_register
345autocmd 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 },