Linux学习笔记四:gvim scripts

1、tagglist

http://vim.wendal.net/scripts/script.php?script_id=273下载,目前版本4.6,下载后解压

.vim文件(脚本文件,可用vim自行编辑)拷贝至~/.vim/plugin下

.txt文件(帮助文件)拷贝至~/.vim/doc下

打开vim后普通模式下:TlistToggle即可看到效果


编辑下~/.vimrc使之更容易使用:

"插件相关:taglist

let Tlist_Show_One_File=1               "设置Tlist对象仅为当前文件

let Tlist_Exit_OnlyWindow=1            "设置窗口关闭,当Tlist为仅存窗口时

let Tlist_Show_Menu=1                     "区别显示菜单

set updatetime=1500                         "设置Tlist刷新时间

map<silent><leader>ll :TlistToggle<cr>                     "设置无回显快捷命令",ll":显示taglist

上文中<leader>需自己配置,下同

还有许多选项,可以参考:h taglist中关于vimrc配置选项


2、winmanager

http://vim.wendal.net/scripts/script.php?script_id=95下载,目前版本2.3,作者停止更新,有人后续接手,增加了些功能,但害怕不稳定,所以没采用

安装方法基本同上,不累述

普通模式下:WMToggle即可


同样在~/.vimrc中增加习惯自己到配置

"插件相关:winmanager3.2

let g:winManagerWidth=30                    "宽度

let g:persistentBehaviour=0                   "设置窗口关闭:窗口数为1时退出vim

let g:winManagerWindowLayout='FileExplorer|TagList|minibufexpl'                 "设置窗口:','同一窗口,'|'额外窗口

map<silent><leader>ww :WMToggle<cr>                                                               "设置无回显快捷命令",ww":显示WMToggle


3、由于每次编译均需更改vimrc,网上由种vimrc在保存后自我加载方法,在此与大家分享下

map<silent><leader>ss :source ~/.vimrc<cr>                "设置无回显快捷命令",ss":重载vimrc

map<silent><leader>ee :e ~/.vimrc<cr>                         "设置无回显快捷命令",ee":编辑vimrc

autocmd! bufwritepost .vimrc source ~/.vimrc                "自动重载.vimrc


4、BufExplorer

http://vim.wendal.net/scripts/script.php?script_id=42下载,目前版本7.3.6,但似乎存在问题,建议下载老版本,本人下的是7.2.8

如上安装后,增加部分自定义配置

"插件相关:BufExplorer

let g:bufExplorerDefaultHelp=0        "显示帮助

let g:bufExplorerFindActive=0        "激活窗口

let g:bufExplorerSplitRight=1        "设置位置


5、MiniBufExpl

http://vim.wendal.net/scripts/script.php?script_id=159下载

自定义配置部分

"插件相关:minibufexpl

let g:miniBufExplMapWindowNavVim=1        "设置快捷移动:ctrl+hjkl快捷移动

let g:miniBufExplMapWindowNavArrows=1    "设置快捷移动:ctrl+方向键快捷移动

let g:miniBufExplorerMoreThanOne=1        "窗口数为1时设置minibuf启动

let g:miniBufExplForceSyntaxEnable=0    "防止语法高亮消失

let g:miniBufExplModSelTarget=1            "防止插件窗口被buf窗口抢占

吐槽下,这个插件虽然直观,但并不大好用,容易引起多窗口,minibuf窗口超出maxsize,buf跳跃到别的插件窗口等问题,比较纠结,有人知道怎么屏蔽这些错误,请不吝指教


6、cscope

目前该插件算是标准插件,一般不用自己安装,所有就贴下配置

"插件相关:ctags & cscope

set autochdir                        "自动跳转至当前目录

set tags=tags;                        "设置ctags对象目录为当前目录

if has("cscope")                    "逻辑:自动添加cscope.out

    set csprg=/usr/bin/cscope        "指定cscope命令

    set cst                            "设置:tag行为为:cstag:默认nocst

    set csto=0                        "设置:cstag查找顺序,优先:cscope

    set nocsverb                    "暂时屏蔽无cscope.out错误

    set cscopequickfix=s-,c-,d-,i-,t-,e-

                                    "设置cscope匹配quickfix,'-'清空原结果
    let cscope=findfile("cscope.out", ".;")

    if !empty(cscope) && filereadable(cscope)

        let cscope_pre=getcwd()

        let cscope_file=printf("%s/%s", cscope_pre, cscope)

        exe "cs add" cscope_file cscope_pre

    elseif $CSCOPE_DB != ""

        cs add $CSCOPE_DB

    endif

    set csverb                        "设置cscope数据库错误提示

endif


快捷键按照个人喜好再做设置:

map<silent><leader>ffs :cs find s <C-R>=expand("<cword>")<CR><CR>

map<silent><leader>ffg :cs find g <C-R>=expand("<cword>")<CR><CR>

map<silent><leader>ffc :cs find c <C-R>=expand("<cword>")<CR><CR>

map<silent><leader>fft :cs find t <C-R>=expand("<cword>")<CR><CR>

map<silent><leader>ffe :cs find e <C-R>=expand("<cword>")<CR><CR>

map<silent><leader>fff :cs find f <C-R>=expand("<cfile>")<CR><CR>

map<silent><leader>ffi :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>

map<silent><leader>ffd :cs find d <C-R>=expand("<cword>")<CR><CR>

对于其中到模式i,d还有些疑惑,望有人解惑


7、a.vim

切换声明定义文件,功能简单易用,贴下配置

"插件相关:a.vim

map<silent><leader>aa :A<cr>

map<silent><leader>ii :IH<cr>


8、quickfix

map<silent><leader>cn :cn<cr>

map<silent><leader>cp :cp<cr>

map<silent><leader>cl :ccl<cr>

map<silent><leader>cw :cw 10<cr>

                                    "跳转next/pre;打开/关闭quickfix窗口


9、grep

let Grep_OpenQuickfixWindow=1

let Grep_Default_Filelist='*.c *.cpp *.h'

                                    "quickfix自动弹出,grep默认查找文件

map<F3>n :Grep<cr>

grep到快捷键可以多样化,使用正则表达式来匹配相应字符串


10、showmarks

书签插件,http://vim.wendal.net/scripts/script.php?script_id=152下载,版本是2.2,存在bug,网上有相应到修复补丁

用来做文件间跳转以及代码段标识还是很方便到

"插件相关:showemarks

"<leader>命令:mt(开启/关闭),mh(删除当前行),ma(删除当前文件),mm(标记当前行)

"显示所有字母标记位,g'进行不同buf间mark跳转

let g:showmarks_include="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

let showmarks_hlline_lower=1

let showmarks_hlline_upper=1

可以做个F2到map映射,用来当前buf上切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值