
1、安装Python
Ubuntu 18.04 LTS 默认安装 python。

2、安装Vim
Ubuntu 18.04 LTS Desktop初始安装自带了vi,未带 vim 需要安装,已安装的略过。sudo apt install vim

3、插件安装
标签导航(tagbar和ctags)、语法检测(syntastic)、文件搜索(ctrlp)、目录树导航(nerdtree)、状态栏美化(vim-powerline)、主题风格(solarized)、python相关(jedi-vim和python-mode)、括号匹配高亮(rainbow_parentheses)、可视化缩进(vim-indent-guides)。可谓应有尽有。
还有一个最重要的就是插件管理工具vundle。

4、安装vundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持。

5、配置vim
vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下。
编辑 ~/.vimrc 文件,写入以下内容:

为了防止配置文件太乱,我们可以通过~/.vimrc.bundles管理我们安装的插件。
.vimrc.bundles配置文件
首先创建文件~/.vimrc.bundles,然后添加代码如下:

如上述代码所示,我们通过Bundle指定各个插件在Github的地址,填写规则是"用户名/仓库名"。书写规则有三种,这里使用的是最常见的一种,其它书写方法这里就不说了。

6、安装插件
我们已经指定好了各个插件的路径,接下里就是安装各个插件了。在shell中输入vim,进入命令行模式输入BundleInstall。

运行这个命令就开始自行安装我们之前指定的各个插件了。这个过程需要连网,下载并安装好各个插件之后会提示Done!

注意:由于tagbar依赖于ctags,所以我们还需要用指令安装ctags:
sudo apt-get install ctags

插件配置
1、基础配置
已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置。配置这里也很简单,下面是我的配置,编写~/.vimrc:
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif
" tagbar标签导航
nmap <Leader>tb :TagbarToggle<CR>
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_width=30
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()
let g:jedi#auto_initialization = 1
" 主题 solarized
let g:solarized_termtrans=1
let g:solarized_contrast="normal"
let g:solarized_visibility="normal"
" 配色方案
set background=dark
set t_Co=256
colorscheme solarized
" 目录文件导航NERD-Tree
" \nt 打开nerdree窗口,在左侧栏显示
nmap <leader>nt :NERDTree<CR>
let NERDTreeHighlightCursorline=1
let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.obj$', '\.o$', '\.so$', '\.egg$', '^\.git$', '^\.svn$', '^\.hg$' ]
let g:netrw_home='~/bak'
"close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end
" ctrlp文件搜索
" 打开ctrlp搜索
let g:ctrlp_map = '<leader>ff'
let g:ctrlp_cmd = 'CtrlP'
" 相当于mru功能,show recently opened files
map <leader>fp :CtrlPMRU<CR>
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux"
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn|rvm)$',
\ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz)$',
\ }
"\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',
let g:ctrlp_working_path_mode=0
let g:ctrlp_match_window_bottom=1
let g:ctrlp_max_height=15
let g:ctrlp_match_window_reversed=0
let g:ctrlp_mruf_max=500
let g:ctrlp_follow_symlinks=1
" vim-powerline美化状态
" let g:Powerline_symbols = 'fancy'
let g:Powerline_symbols = 'unicode'
" 括号匹配高亮
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['brown', 'firebrick3'],
\ ['gray', 'RoyalBlue3'],
\ ['black', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['Darkblue', 'firebrick3'],
\ ['darkgreen', 'RoyalBlue3'],
\ ['darkcyan', 'SeaGreen3'],
\ ['darkred', 'DarkOrchid3'],
\ ['red', 'firebrick3'],
你可以根据自己的喜好设置快捷键,<leader>是按键\,根据我的配置。在Vim的正常模式下:
l 依次按键\tb,就会调出标签导航;
l 依次按键\ff,就会调出文件搜索;
l 依次按键\nt,就会调出目录导航。
2、运行配置
这些基础配置已经完成,但是我想在Vim下像在IDE中一样,按一个键就运行当前编辑的Python文件,并查看运行结果。
没问题!
在~/.vimrc最后一行追击代码如下:
" 运行文件map <F5> :w<cr>:r!python3 %<cr>
上述代码的意思就是,在Vim的正常模式下,按F5就会保存文件并使用Python3运行当前文件,并将结果输出到当前界面。
注意,:!python3表示运行系统命令Python3,如果你没有安装Python2和Python3共存,此处只写python即可。
这样我们就可以边编辑边查看运行结果了,见本文最上面截图。
运行完之后,依然可以在Vim的正常模式下按u,撤回这个输出操作,这样输出结果就撤回了,我们就可以继续编写自己的代码了。
总结
Vim很好用,很强大,用上了有种爱不释手的感觉。插件不用安装太多,适合自己的就行,根据自己的需求进行配置,编辑快捷键,真的很方便。
你也来配置一个属于自己的Vim吧!
河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。
关注镌远科技,关注网络安全!
河北地址:河北镌远网络科技有限公司
河北省邯郸市丛台区中华北大街193号慧谷大厦14层
总部地址:北京冠程科技有限公司
北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层
实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


欢迎扫描关注我们,及时了解更多关于网络安全相关知识


