1. quickfix
1-1. 使用创建的 Makefile 或 makeprg 命令进行编译
$ vim hello.c
:set makeprg=gcc\ -Wall\ -ohello\ hello.c (空格用 \ 转义)
:make (编译)
1-2. 默认快捷键
:cc 显示详细错误信息 ( :help :cc )
:cp 跳到上一个错误 ( :help :cp )
:cn 跳到下一个错误 ( :help :cn )
:cl 列出所有错误 ( :help :cl )
:cw 如果有错误列表, 则打开quickfix窗口 ( :help :cw )
:col 到前一个旧的错误列表 ( :help :col )
:cnew 到后一个较新的错误列表 ( :help :cnew )
1-3. 自定义快捷键
$ cat ~/vimrc
autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
nmap <leader>cn :cn<cr>
nmap <leader>cp :cp<cr>
nmap <leader>cw :cw 10<cr>
--------------------------------------------------------------------------------
2. vimgdb
2-1. 编译安装 vim 和 vimgdb
$ 移动到 vim72 vimgdb 上层目录
$ patch -d vim72 --backup -p0 < vimgdb/vim72.diff
$ cd vim72/src
$ make
$ sudo make install
$ tar zxvf vimgdb_runtime.tgz
$ 复制解压缩后的文件夹或文件到 ~/.vim 路径, 如下
.
|-- doc
| |-- gdb.txt
|-- macros
| `-- gdb_mappings.vim
`-- syntax
|-- gdb.vim
|-- gdbvar.vim
`-- gdbvim.vim
$ vim
:helptags ~/.vim/doc
:help vimgdb
2-2. 安装 gdb
$ rpm -qa | grep gdb
2-3. 修改 vimgdb 绑定键
2-3-1. ~/.vim/macros/gdb_mappings.vim
在 nmap <F7> :call <SID>Toggle()<CR> 后添加
" ---------- add start ---------- "
nunmap <F7>
nmap <F4> :call <SID>Toggle()<CR>
" ---------- add end ---------- "
在 let s:gdb_k = 0 后添加
" ---------- add start ---------- "
if ! exists("g:vimgdb_debug_file")
let g:vimgdb_debug_file = ""
elseif g:vimgdb_debug_file == ""
call inputsave()
let g:vimgdb_debug_file = input("File: ", "", "file")
call inputrestore()
endif
call gdb("file " . g:vimgdb_debug_file)
map <Space> :call gdb("")<CR>
nmap <silent> <C-Z> :call gdb("\032")<CR>
" ---------- add end ---------- "
在 nmap <silent> <C-X> :call gdb("print *" . expand("<cword>"))<CR> 后面添加
" ---------- add start ---------- "
nunmap S
nunmap <C-N>
nunmap F
nunmap R
nunmap C
nmap <silent> <F5> :call gdb("step")<CR>
nmap <silent> <F6> :call gdb("next")<CR>
nmap <silent> <F7> :call gdb("finish")<CR>
nmap <silent> <F8> :call gdb("continue")<CR>
nmap <silent> <F9> :call gdb("run")<CR>
" ---------- add end ---------- "
在 nunmap <C-X> 后添加
" ---------- add start ---------- "
nunmap <F4>
nunmap <F5>
nunmap <F6>
nunmap <F7>
nunmap <F8>
nunmap <F9>
" ---------- add end ---------- "
在 map vimGdb keys 后修改
" ---------- edit start ---------- "
" call s:Toggle()
" ---------- edit end ---------- "
2-3-2. ~/.vimrc (添加)
" ---------- vimgdb settings start ---------- "
map <silent> <F2> :bel 25vsplit gdb-variables<CR>
set splitbelow
set nosplitright
set previewheight=50
let g:vimgdb_debug_file = ""
run macros/gdb_mappings.vim
" ---------- vimgdb settings end ---------- "
3. 使用
3-1. 带参数的程序调试时
<空格>, 在 gdb 命令窗口输入 run 参数1 参数2 的形式来启动程序
0 件のコメント:
コメントを投稿