2023年8月26日
209
" 设置一级折叠(fold one level)nnoremap <silent> <leader>fo \ :set foldmethod=syntax<Bar> \ set foldenable<Bar> \ set foldlevel=1<CR>zM
" 设置二级折叠(fold two levels)nnoremap <silent> <leader>ft \ :set foldmethod=syntax<Bar> \ set foldenable<Bar> \ set foldlevel=2<CR>zM
" 设置三级折叠(fold three levels)nnoremap <silent> <leader>th \ :set foldmethod=syntax<Bar> \ set foldenable<Bar> \ set foldlevel=3<CR>zM
" 增加一级折叠(increase fold level)nnoremap <silent> <leader>fi \ :set foldmethod=syntax<Bar> \ set foldenable<Bar> \ set foldlevel+=1<CR>zM
" 减少一级折叠(decrease fold level)nnoremap <silent> <leader>fd \ :set foldmethod=syntax<Bar> \ set foldenable<Bar> \ set foldlevel-=1<CR>zM
" 展开当前折叠(unfold current fold)nnoremap <silent> <leader>oc \ :set foldmethod=manual<Bar> \ za
" 展开所有折叠(unfold all folds)nnoremap <silent> <leader>zR \ :set foldmethod=manual<Bar> \ zR" 显示当前文件符号nnoremap <silent> <leader>ss :CocList symbols<CR>" 'ss' 表示 symbols
" 工作区符号搜索nnoremap <silent> <leader>ws :CocList workspaceSymbols<CR>" 'ws' 表示 workspace symbols
" 文件概览nnoremap <silent> <leader>oo :CocList outline<CR>" 'oo' 表示 outline
" 文本搜索nnoremap <silent> <leader>fg :CocList grep<CR>" 'fg' 表示 grep,文件搜索
" 提取函数nnoremap <silent> <leader>ef :CocAction extractFunction<CR>" 'ef' 表示 extract function
" 提取变量nnoremap <silent> <leader>ev :CocAction extractVariable<CR>" 'ev' 表示 extract variablefunction! CopyToClipboard(text) let tmp = @+ let @+ = a:text call system('xclip -selection clipboard', @+) let @+ = tmpendfunction
nnoremap <leader>cf :call CopyToClipboard(expand("%:p"))<CR>" 显示浮动窗口,列出所有窗口并选择function! FloatingWindowSelection() " 保存当前窗口编号 let current_winid = win_getid()
" 获取所有窗口信息 let choices = getwininfo()
" 显示浮动窗口,提示选择窗口 let selection = inputlist(choices)
" 如果选择了窗口 if !empty(selection) " 跳转到选择窗口 call win_gotoid(selection) endif
" 回到原始窗口 call win_gotoid(current_winid)endfunction
" 设置快捷键,打开浮动窗口选择nnoremap <silent> <leader>ws :call FloatingWindowSelection()<CR>nnoremap <leader>ww :wincmd w<bar>wincmd wp<CR>交换窗口" 查看git文件状态nnoremap <leader>gss :CocCommand git.status<CR>
" 暂存当前文件修改nnoremap <leader>gaa :CocCommand git.add<CR>
" 提交暂存的更改nnoremap <leader>gcm :CocCommand git.commit<CR>
" 推送本地提交到远程nnoremap <leader>gph :CocCommand git.push<CR>
" 检出分支或版本文件nnoremap <leader>gco :CocCommand git.checkout<CR>
" 查看分支列表nnoremap <leader>gbr :CocCommand git.branch<CR>
" 变基操作nnoremap <leader>grb :CocCommand git.rebase<CR>
" 查看提交历史nnoremap <leader>glg :CocCommand git.log<CR>” 文件内符号
nmap ls :CocList symbols
nmap lo :CocList outline
Plug 'terryma/vim-multiple-cursors'
coc-tasks{ "tasks": [ { "label": "cmake-configure", "type": "shell", "command": "cmake", "args": ["-S", "${workspaceFolder}", "-B", "${workspaceFolder}/build"], "group": { "kind": "build", "isDefault": true } }, { "label": "cmake-build", "type": "shell", "command": "cmake", "args": ["--build", "${workspaceFolder}/build"], "group": { "kind": "build", "isDefault": true } } ]}
" 使用 leader + t 作为快捷键前缀,因为 t 可以代表 "task"nnoremap <leader>tl :CocList tasks<CR> " 使用 l (list) 代表任务列表
" 使用 leader + tb 作为构建任务的快捷键,因为 b 可以代表 "build"nnoremap <leader>tb :CocCommand tasks.runBuildTask<CR> " 使用 runBuildTask 运行默认的构建任务
" 使用 leader + tt 作为测试任务的快捷键,因为 tt 可以代表 "test task"nnoremap <leader>tt :CocCommand tasks.runTestTask<CR> " 使用 runTestTask 运行默认的测试任务
" 使用 leader + tr 作为重新运行上次任务的快捷键,因为 r 可以代表 "rerun"nnoremap <leader>tr :CocCommand tasks.rerun<CR> " 使用 rerun 重新运行上次的任务Plug 'puremourning/vimspector'
{ "configurations": { "Launch": { "adapter": "gdb", "configuration": { "request": "launch", "program": "${workspaceRoot}/build/my_program", "miDebuggerPath": "/usr/bin/gdb", "cwd": "${workspaceRoot}", "externalConsole": false, "setupCommands": [ { "text": "-enable-pretty-printing", "ignoreFailures": true }, { "text": "source /path/to/your/script.gdb", "ignoreFailures": false } ], "environment": [ { "name": "LD_LIBRARY_PATH", "value": "/path/to/libs" } ] } } }}” 工作空间符号
nmap lS :CocList workspaceSymbols
command! JumpToHeader execute ‘e ’ . g:coc_cpp_current_header_file
nmap jh :JumpToHeader
command! JumpToSource execute ‘e ’ . g:coc_cpp_current_source_file
nmap js :JumpToSource