[让vim查找字符忽略大小写]
1、配置文件set ignorecase smartcase。
2、/c、/C。
参考:http://www.360doc.com/content/13/0116/14/8547696_260509353.shtml
[复制粘贴]
yy复制游标所在行整行。或大写一个Y。
2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-)
y^复制至行首,或y0。不含游标所在处字元。
y$复制至行尾。含游标所在处字元。
yw复制一个word。
y2w复制两个字(单词)。
yG复制至档尾。
y1G复制至档首。
p小写p代表贴至游标后(下)。
P大写P代表贴至游标前(上)。
最基本的复制是 y,粘贴是 p,剪切是 d。
复制和剪切的命令后面都可以接一个移动命令,表示将光标移动区间内的文本复制过来。
粘贴时 p 与 P 的区别是贴到光标前后的区别。
[常用操作]
u:撤消。
ctrl + r:反撤消。
ctrl + e:窗口向下移一行。
ctrl + y:窗口向上移一行。
vim -R filename:以指读方式打开文件。
:%s/src/dst : 把每一行的第一个src替换为dst.
:n,$s/src/dst : 把第n行到最后一行的src替换为dst.
:10,20s/pattern/replacement/ : 替换范围为第10~20行
ddp : 上行两行对调
xp : 交換两个字符位置
J : 合并上下两行
nK,nJ : 上移下移n行
:set list : 显式隐藏符号
[scons]
下载地址:http://sourceforge.net/projects/scons/files/scons/2.3.0/
[Command-T]
快速定位文件。
安装与使用:http://www.linuxeden.com/html/softuse/20100510/102921.html
错误处理:http://hi.baidu.com/woodyxu/item/3d5ec0274734c53a95f62bf7
[a.vim]
实现头文件间的跳转,参考:http://www.cppblog.com/doing5552/archive/2010/02/06/107391.html
下载地址:http://www.vim.org/scripts/script.php?script_id=31
[tagbar配置]
1 nnoremap <silent> <F8> :TagbarToggle<CR> 2 let g:tagbar_ctags_bin = '/usr/bin/ctags' 3 let g:tagbar_left = 1 4 let g:tagbar_width = 30 5 let g:tagbar_sort = 0 6 autocmd FileType c,cpp,python nested :call tagbar#autoopen(0)
[Color设置]
Gray on black
scheme: Tango
Pallete Color 1:#010044
Pallete Color 6:#CA4FDE
[注释&反注释]
1.插入注释:
按Control+v进入列模式,,用上下键选中需要注释的行数,按大写“I”进入插入模式,输入注释符“#”,然后立刻按下ESC
2.删除注释
先按Control+v进入列模式,按光标键选中需要删除的注释符,按x键删除
[选中内容]
shift+v,先中当前行,并进入VISUAL模式
shift+k,显示系统调用
vi{ 选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
vi( 选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi” 选中”"中间内容
vi’ 选中”中间的内容
vis 选中一个句子
vib 选中一个block
viw选中一个单词
vip 选中一个段落
[跳转到指定行]
ngg 或者 nG,n为指定的行数(如25)
25gg或者25G 跳转到第25行.
gf:跳转到光标当前所在的include文件
[跳转]
[+ctrl+i 跳转到函数、变量和#define
ctrl+i 向前跳到前几次光标位置
ctrl+o/ctrl+t 向后跳到后几次光标位置
[函数体光标跳转]
[[:移动到函数头
]]:移动到函数尾
[{:转到上一个位于第一列的"{"
}]: 转到下一个位于第一列的"{"
{: 转到上一个空行
} 转到下一个空行
[多标签]
:tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab
:tabc 关闭当前的tab
:tabo 关闭所有其他的tab
:tabs 查看所有打开的tab
:tabp 前一个
:tabn 后一个
标准模式下:gt , gT 可以直接在tab之间切换。
[多窗口]
sp/vs 文档名 在新窗口中打开文档
两次Ctrl + w可以切换窗口
:close | :q | ZZ:关闭当前窗口,如果当前窗口为惟一窗口,则不关闭。
:only:关闭当前窗口外的其它窗口。
[TagList]
打开/关闭:Tlist
更新:在Tlist窗口中按u
窗口切换:Ctrl+WW
参考:http://baike.baidu.com/view/9341033.htm
解决TagList对ctags使用选项错误的问题:/usr/bin/ctags: unrecognized option '--format=2'^@^ITry `/usr/bin/ctags
参考:http://www.360doc.com/content/13/0113/10/9462341_259870613.shtml
解决方法就是apt-get install ctags,重装一个就好,别用ubuntu默认的ctags。
[ctags]
ctags -R --exclude=*.java,*.js,*.php,*.m,*.mm,*.html
1) 用命令行。在运行vim的时候加上"-t"参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用":ta"命令,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件
在VIMRC中设置多tags文件:
set tags=./tags,tags,$HOME/.tags/tags
[cscope]
在代码根目录下执行命令:cscope -Rbkq。此命令用于建立索引,会建议以下三个文件:cscope.out、cscope.in.out、cscope.po.out。
[VIMRC]
1 set nu 2 set tabstop=2 3 set softtabstop=2 4 set shiftwidth=2 5 set expandtab 6 syntax enable 7 syntax on 8 set smartindent 9 set autoindent 10 set cursorline 11 set cindent 12 let Tlist_Auto_Open = 1 13 let Tlist_Ctags_Cmd = '/usr/bin/ctags' 14 let Tlist_Show_One_File = 1 15 let Tlist_Exit_OnlyWindow = 1 16 set tags=/home/siyuanxie/Desktop/yr/tags,/usr/include/tags 17 cscope add /home/siyuanxie/Desktop/yr/cscope.out 18 cscope add /usr/include/cscope.out 19 set path+=/usr/include20 set ignorecase 20 map Q <Nop> 21 set bg=light 22 set bg=dark 23 set hlsearch