" 设置一级折叠(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 variable
function! CopyToClipboard(text)
  let tmp = @+
  let @+ = a:text
  call system('xclip -selection clipboard', @+)
  let @+ = tmp
endfunction

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


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注