vim bible
来源:互联网 发布:马恩列斯毛 知乎 编辑:程序博客网 时间:2024/05/16 14:23
PS以下内容都是从互联网和平时收集下来
插件篇:
1. minibuf
下载地址http://www.vim.org/scripts/script.php?script_id=159版本6.3.2安装将下载的 minibufexpl.vim文件丢到 ~/.vim/plugin 文件夹中即可手册在minibufexpl.vim 文件的头部推荐配置:
let g:miniBufExplMapCTabSwitchBufs=1
可以通过e打开第二个文件,此时vim上方会出现minibuf条,当光标落在minibuf区时,通过<tab><s-tab>可以切换不同的标签,d可以删除标签,
:tabe filename 在新的标签中编辑filename
ctrl + w + s 水平分割
ctrl + w + v 垂直分割
ctrl + q 关闭当前区域
:bn 切换下一个标签
:bp 切换前一个标签
(这里可以通过nmap <F5> :bn<cr> nmap <F6> :bp<cr>来加速)
:vsp filename 垂直分割屏幕并打开一个新文件
:sp filename 水平分割屏幕并打开一个新文件
2. ctags
首先在目录树最上层生成tag文件,敲 ctags -R 即可
:set tags=xxxxx/tags 导入你的tags文件
把光标移动到symbol上,ctrl + ] 可以跳到所有symbol的引用处,ctrl + t 可以跳回来
3. cscope
在代码根目录敲入 cscope -Rbq 会生成三个文件cscope.in.out, cscope.out, cscope.po.out,在vim里导入.out文件
cs add xx/xx/cscope.out xx/xx
(一般linux发行版的vim脚本都会做这个事情,可以参考/etc/vimrc文件)
cscope最有用的就是两个find命令
cs find g $symbol:查看$symbol 的定义
cs find c $symbol:查看$symbol 调用的地方
cs find s $symbol:查看所有$symbol 出现的地方
和ctags一样,我建议用map来映射这些命令,以下都是从cscope help里抄来的
nmap <C-[>s :cs find s <C-R>=expand("<cword>")<CR><CR>nmap <C-[>g :cs find g <C-R>=expand("<cword>")<CR><CR>nmap <C-[>c :cs find c <C-R>=expand("<cword>")<CR><CR>
把这三个命令添加到/etc/vimrc中,可以和ctags的 ctrl + ] 配合使用
4. quickfix
用ctags/cscope查找的时候,比如查找所有symbol,这是下方会出现quickfix窗口,:cw可以切换到quickfx
我们在quickfix中,通过:cn :cp 来切换symbol的不同地方,当然也可以通过 nmap <F7> :cn<cr>, nmap <F8> :cp<cr>
命令篇:
1. 移动光标
b,B:往上一个字跳(没啥用)
w,W,e,E:往下一个字跳(没啥用)
u: undo
ctrl + r :redo
0, ^:跳到行首
$:跳到行尾
ctrl + b : pagedown
ctrl + f : pageup
h, j, k, l : 等同于光标上下左右
%:跳到配对的括号上去
2. 插入
a : 插入到光标后面
o : 插入一行到当前行后面,同时移动光标到插入行首
O: 插入一行到当前行前面,同时移动光标到插入行首
3. 分屏
vim -O xx1 xx2 :垂直分屏
vim -o xx1 xx2 :水平分屏
4. tab
set expandtab
set smarttab
set shiftwidth=4
set tabstop=4
这样一个tab就被指定为4个空格,对于写各种脚本方便多了5. 其他
u : undo
ctrl + r : redo
e : open new file
saveas : 另存为
split vsplit :水平(垂直)分屏
- vim bible
- Bible
- bible.c
- SQL Bible
- C# Bible
- UML Bible
- MySQL Bible
- Ajax Bible
- JavaScript Bible
- Podcasting Bible
- bible 啊
- screen bible
- Linux Bible
- Windows Server 2003 Bible (Bible)
- Flash 8 ActionScript Bible (Bible)
- Linux Database Bible (Bible (Wiley))
- Is the Bible copyrighted?
- Wiley - Excel 2003 Bible
- linux下pppoe服务器搭建
- PHP安装包下载:VC9,VC6,Thread Safe,Non Thread Safe的意思
- Linux之fork()函数
- 服务器上访问正常显示网页,远程的时候“无法显示”
- 云计算数据中心局域网技术浅析
- vim bible
- struts2国际化以及操作事项(附源码)
- Android源码中删除应用
- libevent事件通知机制
- Hibernate注解映射联合主键的三种主要方式
- 原型模式
- nginx代码分析之(一)——初探
- 为什么C语言屹立不倒?
- 解决文本框readonly与键盘退格键