vim插件

以前都是在windows下开发的,习惯使用了sourceinsight等开发工具。

后来转为linux内核开发,在windows下利用ssh远程服务器,还是可以利用samba或者是其它的一些软件将代码进行远程共享,然后使用windows下的图形界面进行代码分析。

但是由于kernel的代码非常多,除非非常熟悉的人,只在sourceinsight里添加一部分的代码,否则使用sourceinsight在进行一些搜索操作时,耗时其实是挺长的。

一直知道vim的存在,但是由于vim都是命令行操作,对于命令行的操作有一定的恐惧心里,所以一直没提上日常。

后来开发环境变成了ubuntu,vim的使用变成了势在必行的事情,所以着手使用vim开发,发现vim结合shell其实是非常好的开发工具,加上vim的一些插件,更是如虎添翼。

vim的使用还需继续探索,在这篇文档里逐步补充。

---------------------------------------------------------------------------------------------------------------------------------

vim插件管理工具:Pack&Vundle

个人电脑建议使用Pack安装和管理插件,比较方便便捷。

服务器的单个用户,建议使用Vundle安装和管理插件,因为毕竟最好不要改变整体环境。

Pack的使用参照:

vim插件管理工具pack (smslit.cn)https://blog.smslit.cn/2018/06/25/vim-pack/Vundle的使用参照:

        vim实战:插件安装(Vundle,NerdTree) (shuzhiduo.com)icon-default.png?t=M0H8https://www.shuzhiduo.com/A/gVdnGVWEzW/

安装好插件管理工具后,除了部分小众插件,近乎都可以从github上搜索到,通过上面两个插件管理工具均可以很方便的安装。

---------------------------------------------------------------------------------------------------------------------------------

插件的配置:~/.vimrc

插件安装好后,可以对各种插件进行自己喜欢方便的配置。

配置的方式可谓是多种多样了,网上搜索vimrc即可出现很多教程,

这里列举几个网页供参考:

(97条消息) vim配置vimrc详解_Commander-CSDN博客_vimrc配置详解icon-default.png?t=M0H8https://blog.csdn.net/u014805066/article/details/62891622(97条消息) Vim的终极配置方案,完美的写代码界面! ——.vimrc_amoscykl的博客-CSDN博客_vimrcicon-default.png?t=M0H8https://blog.csdn.net/amoscykl/article/details/80616688(97条消息) 最全最好用的vim配置(即.vimrc文件的配置),附加vim操作技巧_大数据开发-CSDN博客_vimrc配置icon-default.png?t=M0H8https://blog.csdn.net/zytbft/article/details/74551299贴一个我的vimrc供参考吧:

"According to the line Number"
set number
"set nonu"

"Syntax highlighting"
syntax enable
syntax on

"Support mouse"
set mouse=a
"set mouse-=a"

"Lines highlighted"
set cursorline 

"Search ignores case"
set ignorecase 
                                                                                                                                                                                             
"Highlight the keywords found in the search"
set hlsearch 


"Indented style"
set autoindent
set cindent 
set tabstop=4
set softtabstop=4
set shiftwidth=4 

"Taglist"
set expandtab 
set cino=g0,:0 
let Tlist_WinWidth=60
let Tlist_Exit_OnlyWindow=1
"let Tlist_Use_SingltClick=1"
"let Tlist_Auto_Open=1"
let Tlist_Show_One_File=1

"Cscope"
set cscopequickfix=s-,c-,d-,i-,t-,e-
if has("cscope")  
    set csprg=/usr/bin/cscope  
    set csto=0  
    set cst  
    set nocsverb  
    set cspc=3  
    "add any database in current dir  
    if filereadable("cscope.out")  
        cs add cscope.out  
        "else search cscope.out elsewhere  
    else  
        let cscope_file=findfile("cscope.out", ".;")  
        let cscope_pre=matchstr(cscope_file, ".*/")  
        if !empty(cscope_file) && filereadable(cscope_file)  
            exe "cs add" cscope_file cscope_pre  
        endif    
    endif  
endif

"Winmanager"
let g:winManagerWindowLayout="TagList|FileExplorer,BufExplorer" 
let g:AutoOpenWinManager = 1 

"airline"
let g:airline#extensions#tabline#enabled = 1


"shortcuts"
"F1"
nmap <F1> :set mouse-=a<cr>
"F2"
nmap <F2> :set nonu<cr>
"F3"
map  <F3> N
"F4"
map  <F4> n

"F5"
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags

"F7"
map  <F7> gg
"F8"
map  <F8> G
"F9"
nmap <F9> :WMToggle<cr>

"F10"
"The new session"
"F11"
"Full screen"



"F12"
nmap <F12> :u<cr>

"Alt+->"
map <M-right> <ESC>:bn<RETURN> 
"Alt+<-"
map <M-left> <ESC>:bp<RETURN>   
"Ctrl+m"
map <C-m> <ESC>:set mouse=a<cr>


" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-scripts/taglist.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on

---------------------------------------------------------------------------------------------------------------------------------

我使用的主要插件

ctag :主要是用于查找定义

cscope:ctag的加强版,也主要是查找功能

neocomplete:代码补全,此功能可能需要重新编译vim,下一板块介绍

nerdtree:显示文件路径结构

vim-airline  vim-airline-themes :装饰vim界面的

taglist:图形界面显示ctag的

winmanager:窗口管理的

---------------------------------------------------------------------------------------------------------------------------------

插件安装过程中可能遇到的问题:

大部分的插件使用网上都很全,配置也讲的比较详细。

这里只说一下neocomplete。

neocomplete是一款代码补全插件,总体使用效果还不错,但是他需要一个vim里的lua功能,ubuntu默认vim是没有这个功能的,就需要重新编译vim。

vim 重新编译,支持lua (compile vim with lua) - spch2008 - 博客园 (cnblogs.com)icon-default.png?t=M0H8https://www.cnblogs.com/spch2008/p/4593370.html因为首次接触,所以重新编译vim的过程弄的很慌乱,每次编完,重新打开VIM都是满屏的红色报错,甚是吓人,第一反应,装错了,重装,反复搞了好几次,还是满屏红色报错,遂冷静下来看看报的是啥错。

经过仔细排查,是几个跟插件有关的错,把先前已经安装的插件卸载,然后重启,就不报错了。在不报错的基础上,重新编译好vim,lua功能也加上了。再把喜欢的插件加回来,所有插件都可以正常使用了。完美。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值