前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu18.04下VIM安装及配置

Ubuntu18.04下VIM安装及配置

作者头像
全栈程序员站长
发布2022-11-11 15:27:08
1.8K0
发布2022-11-11 15:27:08
举报
文章被收录于专栏:全栈程序员必看

2020/07/02更新: 前不久发现网上已经有了一个很屌的vim项目。感觉对不起自己这篇文章的几万浏览量诶 😃 github上的vimplus项目。运行安装脚本一键下载安装。 https://github.com/chxuan/vimplus 效果如下:


作者:陈浩 更新日期:2018-09-21 1.安装VIM

代码语言:javascript
复制
	$sudo apt-get install vim

我的vim 已经是最新版 (2:8.0.1453-1ubuntu1)。

2.VIM主题scheme设置

代码语言:javascript
复制
	$vim .vimrc

在vimrc文件里添加如下信息即可设置主题:

代码语言:javascript
复制
colorscheme 主题插件名
例如:
colorscheme desert

在/usr/share/vim/vim80/color文件夹里,vim已经自带了十几种主题插件,选择一种即可:

代码语言:javascript
复制
blue.vim      desert.vim    koehler.vim  peachpuff.vim  slate.vim
darkblue.vim  elflord.vim   morning.vim  README.txt     torte.vim
default.vim   evening.vim   murphy.vim   ron.vim        zellner.vim
delek.vim     industry.vim  pablo.vim    shine.vim

也可以去github网站搜索下载主题插件文件,文件可放在~/.vim/color目录下,便于管理。 如下,我用vim脚本编写了一个可以随时间自动变换主题的配置(每小时自动换一个主题):

代码语言:javascript
复制
"把当前秒数转换成小时数
let hour=(localtime()/60/60%24)
if hour == 1
	colorscheme blue
elseif hour == 2
	colorscheme desert
elseif hour == 3
	colorscheme koehler
elseif hour == 4
	colorscheme peachpuff
elseif hour == 5
	colorscheme slate
elseif hour == 6
	colorscheme darkblue
elseif hour == 7
	colorscheme elford
elseif hour == 8
	colorscheme morning
elseif hour == 9
	colorscheme torte
elseif hour == 10
	colorscheme default
elseif hour == 11
	colorscheme evening
elseif hour == 12
	colorscheme murphy
elseif hour == 13
	colorscheme ron
elseif hour == 14
	colorscheme zellner
elseif hour == 15
	colorscheme delek
elseif hour == 16
	colorscheme industry
elseif hour == 17
	colorscheme pablo
elseif hour == 18
	colorscheme shine
elseif hour == 19
	colorscheme desert
elseif hour == 20
	colorscheme desert
elseif hour == 21
	colorscheme desert
elseif hour == 22
	colorscheme desert
elseif hour == 23
	colorscheme desert
elseif hour == 24
	colorscheme desert
endif

3.安装vim-plug 一种方便简洁的插件管理插件

终端输入如下命令:

代码语言:javascript
复制
	$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

此时终端会显示如下界面,

代码语言:javascript
复制
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 74331  100 74331    0     0   2549      0  0:00:29  0:00:29 --:--:--  5294

静静等待vim-plug下载成功。 vim-plug下载成功后,打开~/.vimrc,

代码语言:javascript
复制
	$vim ~/.vimrc

在vim配置文件.vimrc下加入如下配置字段:

代码语言:javascript
复制
call plug#begin('~/.vim/plugged')                                                               
	Plug 'junegunn/vim-plug'                                                                       
	"此处可以添加其他插件
	"Plug 'github网站上的其他vimscript插件'                                                             
call plug#end() 

添加配置后保存退出,再次打开vim,输入:

代码语言:javascript
复制
	:PlugInstall

出现如下界面:

静静等待插件安装完成。

4.安装Nedrtree

打开~/.vimrc,在之前添加的vim-plug配置信息内添加nedrtree插件信息如下:

代码语言:javascript
复制
call plug#begin('~/.vim/plugged')                                                        
	Plug 'junegunn/vim-plug'                                                                                                                       
	Plug 'scrooloose/nerdtree'                                                               
	Plug 'vim-scripts/taglist.vim'                                              
call plug#end() 

保存,输入:PlugInstall命令下载安装插件。 然后在.vimrc内添加nedrtree的配置字段如下:

代码语言:javascript
复制
"->NERDTree目录树插件---配置选项=====================================================         
let g:NERDTreeDirArrowExpandable = '▸'  "目录图标                                                                
let g:NERDTreeDirArrowCollapsible = '▾'
"autocmd vimenter * NERDTree                "自动打开目录树
"vim【无文件】也显示目录树 
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
"vim打开目录文件也显示目录树?
autocmd StdinReadPre * let s:std_in=1 
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene     | endif
"CRTL+N开关目录树
map <C-n> :NERDTreeToggle<CR>
"关闭最后一个文件,同时关闭目录树
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"<-NERDTree目录树插件---配置选项===============================================================

界面效果如下:

CTRL+N实现nedrtree的打开和关闭,CRTL+WW实现左右界面跳转。

5.安装ctags软件+Targlist插件

终端下输入如下命令:

代码语言:javascript
复制
$sudo apt-get install ctags

安装ctags成功,然后用vim-plug安装Targlist插件, 打开~/.vimrc配置文件,在之前的vim-plug配置处添加Taglist插件配置信息如下:

代码语言:javascript
复制
call plug#begin('~/.vim/plugged')
Plug 'junegunn/vim-plug'
Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/taglist.vim'
call plug#end()

保存,然后输入命令:PlugInstall。 等待Taglist安装完毕,继续在~/.vimrc文件内添加Taglist配置信息如下:

代码语言:javascript
复制
"->taglist浏览插件配置=========================================     
"taglist窗口显示在右侧,缺省为左侧     
let Tlist_Use_Right_Window=1    
"设置ctags路径"将taglist与ctags关联     
let Tlist_Ctags_Cmd = '/usr/bin/ctags'     
"启动vim后自动打开taglist窗口     
let Tlist_Auto_Open = 1     
"不同时显示多个文件的tag,只显示当前文件的     
"不同时显示多个文件的tag,仅显示一个     
let Tlist_Show_One_File = 1     
"taglist为最后一个窗口时,退出vim     
let Tlist_Exit_OnlyWindow = 1     
"let Tlist_Use_Right_Window =1     
"设置taglist窗口大小     
"let Tlist_WinHeight = 100     
"let Tlist_WinWidth = 40     
"设置taglist打开关闭的快捷键F8     
noremap <F8> :TlistToggle<CR>     
"更新ctags标签文件快捷键设置     
noremap <F6> :!ctags -R<CR>     
"<-taglist=========================================  

保存退出,再次用vim打开一个文件,界面效果如下:

2018/12/5 注: 上班后,办公都变成云端(CPU在远处集中管理,电脑只有显示屏)了。VIM也只有在远程登陆终端上使用了,=。=什么插件都用不了。 所以我放弃VIM了,文章以后也不更新了。现在使用的sourceinsight,自己下了个4.0.0.xx版本的,用起来真的爽的不要不要的—>强烈推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187460.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月30日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档