打造vim成类source insight
一、Ubuntu14.04下配置
1、配置vimrc文件
输入:version课查看vimrc文件及位置:
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc“(建议放置位置)
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
打开vim,输入:! echo $VIM 即可知道VIM的安装路径
2、ctags安装和配置
1) 安装
sudo apt-get install ctags
2) ~/.vimrc配置
相关配置在后边列出vimrc文件。
3、taglist插件安装及配置
1)查找插件
官网http://www.vim.org中查找taglist插件
http://www.vim.org/scripts/script.php?script_id=273
2) 安装:
官方说明(加黑部分为我放置的位置):
- Download the taglist.zip file and unzip the files to the $HOME/.vim or the
$HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
have the following two files (the directory structure should be preserved):plugin/taglist.vim - main taglist plugin file
doc/taglist.txt - documentation (help) fileRefer to the |add-plugin|, |add-global-plugin| and |runtimepath| Vim
help pages for more details about installing Vim plugins.
2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
directory, start Vim and run the ":helptags ." command to process the
taglist help file. Without this step, you cannot jump to the taglist help
topics.
3. If the exuberant ctags utility is not present in your PATH, then set the
Tlist_Ctags_Cmd variable to point to the location of the exuberant ctags
utility (not to the directory) in the .vimrc file.
4. If you are running a terminal/console version of Vim and the terminal
doesn't support changing the window width then set the
'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
5. Restart Vim.
6. You can now use the ":TlistToggle" command to open/close the taglist
window. You can use the ":help taglist" command to get more information
about using the taglist plugin.
3) ~/.vimrc配置
配置在后边列出vimrc文件
4、SrcExpl 插件
https://www.vim.org/scripts/script.php?script_id=2179
配置在后边列出vimrc文件
5、Trinity插件
已经包含了NERD_tree插件
安装步骤:我的安装路径$VIM/vimfiles【doc和plugin】
配置在后边列出vimrc文件
6、Cscope安装
sudo apt-get install cscope
7、配置文件
runtime! debian.vim if has("syntax") syntax on endif colorscheme desert set showcmd set showmatch set ignorecase set smartcase set incsearch set autowrite set hidden set mouse=a set number set hlsearch set tabstop= set softtabstop= set shiftwidth= set expandtab set autoindent set cindent "map the keys to jump from one window to another "left window nmap <C-H> <C-W>h "bottom window nmap <C-J> <C-W>j "up window nmap <C-K> <C-W>k "right window nmap <C-H> <C-W>l if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif """""""""""""""""""""""""""""""""""""" "plugin """""""""""""""""""""""""""""""""""""" "cscope would not allow this action "set autochdir "ctags setting "press F5 to generate tags in current directory nnoremap <F5> :!ctags -R .<CR> "find tags in parent directory set tags=tags;/ "taglist setting let Tlist_WinWidth= let Tlist_Exit_OnlyWindow= let Tlist_Use_Left_Window= let Tlist_Show_One_File= let Tlist_File_Fold_Auto_Close= let Tlist_Process_File_Always= "Source Explorer setting " // The switch of the Source Explorer " " nmap <F8> :SrcExplToggle<CR> " " " // Set the height of Source Explorer window " let g:SrcExpl_winHeight = " " " // Set 500 ms for refreshing the Source Explorer " let g:SrcExpl_refreshTime = " " " " // In order to avoid conflicts, the Source Explorer should know what plugins " " // except itself are using buffers. And you need add their buffer names into " " // below listaccording to the command ":buffers!" let g:SrcExpl_pluginList = [ \ "__Tag_List__", \ "_NERD_tree_", \ "Source_Explorer" \ ] " // The color schemes used by Source Explorer. There are five color schemes " " // supported for now - Red, Cyan, Green, Yellow and Magenta. Source Explorer " " // will pick up one of them randomly when initialization. let g:SrcExpl_colorSchemeList = [ \ "Red", \ "Cyan", \ "Green", \ "Yellow", \ "Magenta" \ ] " // Enable/Disable the local definition searching, and note that this is not " " // guaranteed to work, the Source Explorer doesn't check the syntax for now. " " // It only searches for a match with the keyword according to command 'gd' " let g:SrcExpl_searchLocalDef = " " " // Workaround for Vim bug @https://goo.gl/TLPK4K as any plugins using autocmd for " " // BufReadPre might have conflicts with Source Explorer. e.g. YCM, Syntastic etc. " let g:SrcExpl_nestedAutoCmd = " " " // Do not let the Source Explorer update the tags file when opening " let g:SrcExpl_isUpdateTags = " // Set "<F12>" key for updating the tags file artificially " let g:SrcExpl_updateTagsKey = "<F12>" " // Use 'Exuberant Ctags' with '--sort=foldcase -R .' or '-L cscope.files' to " " // create/update a tags file " let g:SrcExpl_updateTagsCmd = "ctags --sort=foldcase -R ." " // Set "<F3>" key for displaying the previous definition in the jump list " let g:SrcExpl_prevDefKey = "<F3>" " // Set "<F4>" key for displaying the next definition in the jump list " let g:SrcExpl_nextDefKey = "<F4>" let g:SrcExpl_jumpkey = "<ENTER>"let g:SrcExpl_gobackkey = "<SPACE>" "trinity setting" Open and close all the three plugins on the same time nmap <F8> :TrinityToggleAll<CR> " Open and close the srcexpl.vim separately nmap <F9> :TrinityToggleSourceExplorer<CR> " Open and close the taglist.vim separately nmap <F10> :TrinityToggleTagList<CR> " Open and close the NERD_tree.vim separately nmap <F11> :TrinityToggleNERDTree<CR> "cscope setting"press F6 to generate cscope.out in current directory"cscope.in.out and cscope.po.out will also be generatednnoremap <F6> :!cscope -Rbkq<CR> "add cscope.outif filereadable("cscope.out") cs add cscope.outendif "key mapping, <leader> is '\' defaultif has("cscope") "Ctrl+] and Ctrl+t to jump like ctags set cscopetag "check cscope for definition of a symbol before checking ctags "set to 1 if you want to reverse search order set csto=1 "set cscopequickfix=s-, g-, d-, c-, t-, e-, i- "find where c symbols apper nmap <leader>s :cs find s <C-R>=expand("<cword>")<CR><CR>
"find where symbols define, like ctags nmap <leader>g :cs find g <C-R>=expand("<cword>")<CR><CR>
"find the function called by this function nmap <leader>d :cs find d <C-R>=expand("<cword>")<CR><CR>
"find the function call this function nmap <leader>c :cs find c <C-R>=expand("<cword>")<CR><CR>
"find string nmap <leader>t :cs find t <C-R>=expand("<cword>")<CR><CR>
"like egrep but fast nmap <leader>e :cs find e <C-R>=expand("<cword>")<CR><CR>
"find and open file, like find in vim nmap <leader>f :cs find f <C-R>=expand("<cword>")<CR><CR>
"find the file containing this file nmap <leader>i :cs find i <C-R>=expand("<cword>")<CR><CR>
endif
srcexpl.vim文件中,需要将
exe "set autochdir"
这句注释掉,否则cscope会有问题。
二、Windows10下配置
1、配置vimrc文件
输入:version课查看vimrc文件及位置:
在$HOME/_vimrc更改设置
2、ctags安装和配置
1) 安装
http://ctags.sourceforge.net/ 下载ctags58
将压缩包解压到$VIM/vimfiles/plugin
在系统变量Path中添加$VIM/vimfiles/plugin
2) ~/.vimrc配置
在$HOME/_vimrc中插入相同的代码
其余参考ubuntu的操作,用trinity后方便很多。
打造vim成类source insight的更多相关文章
- 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...
- vim 绑定到 source insight 快捷键
1. optioons -> custom commands 2. 选择然后写入run命令: "D:\Program Files (x86)\Vim\vim74\gvim.exe&qu ...
- 如何将vim打造成Linux下的source insight
编写者:龙诗科 邮箱:longshike2010@163.com 2016-01-06 众所周知,windows下的source insight是阅读项目代码的神器,其神奇之处在于可以根据当前鼠标所指 ...
- source insight和vim同时使用
https://blog.csdn.net/wangn222/article/details/72721993 1.Source Insight中,Options->Custom Command ...
- 给Source Insight做个外挂系列之五--Insight “TabSiPlus”
“TabSiPlus 外挂插件”主要有两部分组成,分别是“外挂插件加载器”和“插件动态库”.“插件动态库”完成Source Insight窗口的Hook,显示Tab标签栏,截获Source Insig ...
- 给Source Insight做个外挂系列之二--将本地代码注入到Source Insight进程
上一篇文章介绍了如何发现正在运行的“Source Insight”窗口,本篇将介绍“TabSiPlus”是如何进行代码注入的.Windows 9x以后的Windows操作系统都对进程空间进行了严格的保 ...
- 给Source Insight做个外挂系列之一--发现Source Insight
一提到外挂程序,大家肯定都不陌生,QQ就有很多个版本的去广告外挂,很多游戏也有用于扩展功能或者作弊的工具,其中很多也是以外挂的形式提供的.外挂和插件的区别在于插件通常依赖于程序的支持,如果程序不支持插 ...
- Source Insight设置
Source Insight设置 1.背景色选择 要改变背景色Options->preference->windows background->color设置背景色,设置自定 ...
- 【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机
转载地址:http://blog.csdn.net/qs_hud/article/details/8884867 注册机及软件下载地址:http://download.csdn.net/detail/ ...
随机推荐
- android(cm11)状态栏源代码分析(一)
(一):写在前面 近期因为工作须要,须要了解CM11中的有关于StatusBar相关的内容.总的来说,刚開始阅读其源代码的时候,是有点困难,只是通过构建相关代码的脑图和流程图,几天下来.我已经对其源代 ...
- php中session的理解
一.Session是什么 Session一般译作会话,牛津词典对其的解释是进行某活动连续的一段时间.从不同的层面看待session,它有着类似但不完全同样的含义.比方,在web应用的用户看来,他打开浏 ...
- 算法-search
O(big o) 是上限,是我们关注的算法的时间复杂度.数据量大,数据量涨一千倍,lgn的算法就是 耗费的时间就是10倍,o(n)就是一千倍,o(n2)就是一百万倍的差距 例一:Sequential ...
- js执行顺序总结
参考博文:http://www.2cto.com/kf/201401/273825.html http://www.jb51.net/article/44123.htm http://zhidao.b ...
- VMware Workstation 永久许可证密钥
VMware是功能最强大的虚拟机软件,用户可在虚拟机同时运行各种操作系统,进行开发.测试.演示和部署软件,虚拟机中复制服务器.台式机和平板环境,每个虚拟机可分配多个处理器核心.主内存和显存. VMwa ...
- java 动态实现接口
package com.yhouse.modules.daos; public interface IUserDao { public String getUserName(); public Str ...
- hibernate3中session.get()与session.load()两个方法的区别?
1.发送sql的时机不同:load采用延迟加载技术,只有当真正去使用所查处的对象时,才会发送sql:get采用的是立即检索技术,当执行到get方法是就会立即发送sql. 2.返回的对象不同:load返 ...
- Oracle的循环和Corsor
这两天啊有一个心的业务,是须要假设我批量改动数据的话,那么还有一张表的数据也须要改动.也是多条的改动,发现这个问题的时候.自然而然的想到了触发器,可是曾经都是简单的单条语句的跟新,没有过整个表的去做一 ...
- JS常用方法手记
1.判断arr数组是否含有元素str,没有返回-1 arr.indexOf(str) 2.遍历arr数组,k为键,v为值 arr.map((v, k) => { return;}) 3.arr数 ...
- jQuery+bootstrap实现美化警告/确认/提示对话框插件
http://www.html580.com/12067/demo http://craftpip.github.io/jquery-confirm/