vim for wdk

苦于寻找一个好的驱动开发ide(不想折腾VS,太累),所以寻找vim,偶然发现了vim for wdk,大喜,尝试之

一、配置

1.安装

传送门:原帖出自这里:http://bbs.pediy.com/showthread.php?t=141890 (含下载链接)

下载之后进行简单配置:

1. 将wdk_build.bat中的路径和改为和wdk安装目录相同

2. 并在“cd %1”前加上“g:”,g为你常用的驱动开发目录所在的驱动器盘符。因为直接cd,是无法切换驱动器的。

3. 将"wdk_build.bat" "ctags.exe" "pcre3.dll" "cscope.exe"放到gvim所在的目录

4.将“vimfiles”和“_vimrc”放到VIM目录,即将需要将原来的文件覆盖或合并

注意:此处的cscope为64位版本的,在32位上运行会出现错误:

E609: Cscope error: cscope: invlib.c:566: invopen: Assertion `invcntl-aram.sizeblk == sizeof(t_logicalblk)' failed

  解决方法,即使用32位的cscope,传送门

2.重新定制_vimrc

添加自动保存session和viminfo的命令

" 自动保存session 和ld
"auto sv and ld session
let g:AutoSessionFile=".project.vim"
let g:AutoVimInfo=".viminfo"
au VimEnter * call EnterHandler()
au VimLeave * call LeaveHandler()

function! LeaveHandler()
     exec "mks! ".g:AutoSessionFile
     exec "wviminfo ".g:AutoVimInfo
 endfunction
 function! EnterHandler()
     exe "source ".g:AutoSessionFile
     exe "rviminfo ".g:AutoVimInfo
 endfunction

 

3.使用

F2查找参考引用

F3查找符号

F4 quickfix

F5 打开文件查找

F6 查找替换

F7是build

F9是文件树

空格是打开或者折叠

:Tlist打开Taglist窗口

 Ctags: Ctr+] 转到定义, Ctr+T返回原处

:tag xxx找到xxx


4.Taglist的使用

:Tlist打开taglist窗口,在该窗口中使用如下命令

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o             在一个新打开的窗口中显示光标下tag
<Space>       显示光标下tag的原型定义
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出现顺序排序间切换
x             taglist窗口放大和缩小,方便查看较长的tag
+             打开一个折叠,同zo
-             将tag折叠起来,同zc
*             打开所有的折叠,同zR
=             将所有tag折叠起来,同zM
[[            跳到前一个文件
]]            跳到后一个文件
q             关闭taglist窗口
<F1>          显示帮助 

  

cscope+gvim+ctags的使用可参考这里:http://hi.baidu.com/zengzhaonong/item/69d9dc325170d4c01a969667

基本用法:

生成文件列表文件: dir /s /b *.c *.h > cscope.files

生成数据库和索引:cscope -Rb -i cscope.files -s "D:/WinDDK/7600.16385.1/inc"
生成tags:ctags -R

可以写成批处理放在gvim目录,方便调用

二 .vim常用命令

窗口切换:Ctr+W+hjkl

翻页:下翻Ctr+F 上翻CtrB

行首:0   行末$

文章首:H,文章末尾G

行中第一个单词处:^

下个字的开头:w,前一个字的开头:b

下一个字的字尾:e

2.1复制

  「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

  「#yw」:复制#个字到缓冲区

  「yy」:复制光标所在行到缓冲区。

  「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

2.2更改

  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字

 

2.3列模式(用于注释等)

1.在windows下,用Ctr+q进入列模式(visual Block)

2.移动光标选中多列、多行,即矩形区域

3.使用I进入列编辑模式,编辑之后用esc退出即可

4.使用r进入列替换模式,多用于注释和取消注释(取消注释,即用空格替换)

 

三、OS X下VIM和MacVim的设置

 3.1基本配置

1. ~/.vim/   存放vim相关插件等的目录

2. ~/.vimrc  配置vim环境的脚本

3.2关于ctags

 在mac下自带的ctags并非vim中所需要的ctags,故需要gnu的ctags。

1.在这里下载源码,然后编译:./configure 然后make,最后生成ctags

2. 将ctags放置到一个和系统ctags不冲突的目录,然后修改.vimrc,加入下面这行:

let Tlist_Ctags_Cmd = '/path/to/ctags'

参考

 [1]vim/vi 使用进阶: http://easwy.com/blog/archives/advanced-vim-skills-catalog/

 [2]vim使用大全:http://www.cnblogs.com/hlz789456123/archive/2009/03/19/1417193.html

原文地址:https://www.cnblogs.com/rainduck/p/2709803.html