VIM相关

让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)
View Code

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:关闭当前窗口外的其它窗口。

       :qall : 退出所有窗口
       :wall : 保存所有窗口

  [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。

  1)R 表示把所有子目录里的文件也建立索引
  2)b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
  3)q 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
  4)k 在生成 索引文件时,不搜索/usr/include目录
  
  通过命令  cscope add /home/siyuanxie/Desktop/yr/cscope.out,加载相应的符号文件。
 
  使用cs find 查找(也可以简化写成 cs f)后面添加需要得字符串类型:
  c:Find functions calling this function//查找调用本函数的函数
  d:Find functions called by this function //查找本函数调用的函数
  e:Find this egrep pattern//查找egrep模式,相当于egrep功能,但查找速度快多了
  f:Find this file //查找并打开文件,类似vim的find功能
  g:Find this definition//查找函数、宏、枚举等定义的位置,类似ctags的功能
  i:Find files #including this file //查找包含本文件的文件
  s:Find this C symbol //查找C语言符号,即查找函数名、宏、枚举值等出现的地方
  t:Find assignments to //查找指定的字符串
  例如:使用cscope查找do_fork函数的定义,在vim命令行下执行 :cs f g do_fork

  [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

 

你可能感兴趣的:(vim)