您的位置:首页 > 其它

VIM配置的学习记录

2016-08-16 21:27 483 查看
     之前项目紧张在linux下一直用source_insight当编辑器,不过也够用,但这毕竟不是linux下的产物(邓爷爷说的好,不管白猫黑猫,抓住老鼠就是好猫,工具顺手就行,但我有种强迫症,一定要甩开windows,使用linux发行版进行我的生活工作,请谅解),早就听说vim和emacs,一个编辑器之神,一个神用的编辑器,那我就先用编辑器之神吧。

      关于vim的配置,网络有很多牛逼的配置,我就以spf13为例,选用理由:站在巨人的肩膀上,理解巨人的思想。这也是我现在使用的版本,这个版本,我现在使用的程度,只是满足开发使用,其强大还待探索发现。

1、安装软件

下面软件,一个个的安装吧,

vim,ctags,cscope,git,lua5.3,vim-nox,vim-gtk,vim-gnome,vim-atheta

2、安装插件

spf13插件安装人家做的很傻瓜,四句话搞定

 shell中运行:

curl http://j.mp/spf13-vim3 -L -o - | sh

cd $HOME/to/spf13-vim/

git pull

vim +BundleInstall! +BundleClean +q

再度开启vim,就不一样了吧

3、个性化更改

1)选择一款自己喜欢的软件主题样式

2)使能鼠标的作用,偶尔鼠标还是能用上

3)关闭程序高亮显示,不然看起来好乱

4)关闭换行自动注释功能,这个功能有时候挺烦人的,特别是复制别人的代码

5)配置cscope的功能,cscope还是比ctags功能要强劲.

vim ~/.vimrc.local

添加如下代码:

"color theme

colorscheme peaksea

"mouse enable

set mouse=

"no bright display

set nospell

"no auto note

set formatoptions=ql

"cscope config

if has("cscope")

    set csprg=/usr/bin/cscope

    set csto=0

    set cst

    set nocsverb

    " add any database in current directory

    if filereadable("cscope.out")

        cs add cscope.out

    " else add database pointed to by environment

    elseif $CSCOPE_DB != ""

        cs add $CSCOPE_DB

    endif

    set csverb

endif

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>

nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>

nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>

nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>

nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>

nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>

4、使用vim开发环境

1)建立cscope的数据库,可以在程序中跳来跳去

<1>对于所有源码在同一个目录下的,进入程序目录输入:

cscope -Rbq

然后输入vim就可以进行代码编辑了

<2>对于大型程序,像内核,需要两步操作

    1>建立cscope.files,编辑脚本create_cscope_lib.sh

#!/bin/sh

LNX=/home/shirf/my_study/linux_study/linux-2.6.30

cd /

find $LNX -name "*.[chxsS]" -print > $LNX/cscope.files

    2>进入cscope.files所在的目录下,执行

    cscope -bqk

此时,已完成对整个工程的数据索引,下面就可以开始浏览代码了

2)常用的快捷键

    1> <C-e> 打开当前目录的目录树

    2> <C-p> 进行快速文件查找

    3> <leader>cc 批量注释

       <leader>cu 批量取消注释

    4> <C-n> 向下查找代码自动补全选项

       <C-p> 向上查找代码自动补全选项

    5> <C-]> 跳转到定义处

       <C-T> 调回原处

       gD 跳转到局部变量定义

       <C-w-]> 在窗体下创建水平窗口,显示当前定义

       <C-_>g 跳转到定义处

       <C-_>c 跳转到调用本函数地方

       <C-_>s 查找C符号

       <C-_>d 查看本函数调用的函数

       <C-_>t 查看这段字符

       <C-_>f 查看这个文件

       <C-_>i 查找这个文件引用的文件

    6> <leader><leader>w 向下快速跳转

       <leader><leader>b 向上快速跳转

    7> ds{,{为一个符号,删除一对{}

       cs{[,讲{}替换为[]

       yssB 添加{}

       yssb 添加()

       yssr 添加[]

    8> :SyntasticInfo 显示语法检查信息

       :SyntasticCheck 马上进行语法检查

       :Errors 显示语法检查的提示信息

       :lclose 关闭语法检查提示信息

       :SyntasticReset 复位语法检查

    9> :Gstatus 等同于<leader>gs  相当于git status

       :Gdiff 等同于<leader>gd 相当于git diff

       :Gcommit -m "" 等同于<leader>gc 相当于git commite

    10>:sp 新建水平窗口

       :vsp 新建垂直窗口

    11><leader>a= 所有等号对齐

       <leader>a& 所有&号对齐

    12> > 代码块右移

        < 代码快左移

3)vim的配置理解

    spf13的vim脚本配置,包含很对语言的配置,通过g:spf13_bundle_groups来开启相应的功能

    见.vimrc.bundle

    默认开启内容为

    let g:spf13_bundle_groups=['general', 'writing', 'neocomplete', 'programming', 'php', 'ruby', 'python', 'javascript', 'html', 'misc',]

    如果你想自定义开启方式,新建.vimrc.before.local

    let g:spf13_bundle_groups=[''],在''添加你所需要的语言开发工具即可

这只是基本的功能使用,后期待探索发现逐渐添加
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: