Ubuntu18.04下VIM安装及配置_ubuntu安装vim-程序员宅基地

技术标签: 脚本  配置  插件  VIM  编程工具  

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


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

	$sudo apt-get install vim

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

2.VIM主题scheme设置

	$vim .vimrc

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

colorscheme 主题插件名
例如:
colorscheme desert

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

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脚本编写了一个可以随时间自动变换主题的配置(每小时自动换一个主题):

"把当前秒数转换成小时数
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 一种方便简洁的插件管理插件

终端输入如下命令:

	$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

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

  % 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,

	$vim ~/.vimrc

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

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

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

	:PlugInstall

出现如下界面:
在这里插入图片描述
静静等待插件安装完成。

4.安装Nedrtree

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

call plug#begin('~/.vim/plugged')                                                        
	Plug 'junegunn/vim-plug'                                                                                                                       
	Plug 'scrooloose/nerdtree'                                                               
	Plug 'vim-scripts/taglist.vim'                                              
call plug#end() 

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

"->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插件

终端下输入如下命令:

$sudo apt-get install ctags

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

call plug#begin('~/.vim/plugged')
Plug 'junegunn/vim-plug'
Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/taglist.vim'
call plug#end()

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

"->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版本的,用起来真的爽的不要不要的—>强烈推荐
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42138566/article/details/82800451

智能推荐

环形子数组的最大和-程序员宅基地

文章浏览阅读418次,点赞10次,收藏7次。至此,我们可以使用以上方法求解出环形数组的最大子数组和。特别需要注意的是,本题要求子数组不能为空,我们需要在代码中做出相应的调整。第一种情况的求解方法与求解普通数组的最大子数组和方法完全相同,读者可以参考53号题目的题解:最大子序和。求解普通数组的最大子数组和是求解环形数组的最大子数组和问题的子集。从子数组 [3] 和 [3,-2,2] 都可以得到最大和 3。的最大前缀和,将它们相加更新答案。数组和枚举后缀的时间复杂度为。最多只能包含固定缓冲区。构成最大子数组和的子数组为。构成最大子数组和的子数组为。

Flutter溢出滚动_flutter 超出滚动-程序员宅基地

文章浏览阅读4.8k次。外部再加层SingleChildScrollView属性this.scrollDirection = Axis.vertical,//滚动的方向,垂直或水平this.reverse = false,// 是否反转,如果是垂直滚动的话,reverse默认为false,表示先看上面。如果reverse为true,则先看底部。this.padding,// 内边距bool primary,// 是否使用默认的controllerthis.physics,this.controller,//可以控制初_flutter 超出滚动

我的世界服务器换披风的网站,minecraft我的世界局域网换皮肤和披风-程序员宅基地

文章浏览阅读3.7k次。minecraft很多人不知道皮肤和披风怎么换,装了mod也没用,皮肤有人说必须要正版,也是胡扯。那该怎么换呢?下面是学习啦小编收集整理的minecraft我的世界局域网换皮肤和披风,希望对大家有帮助~~minecraft我的世界局域网换皮肤和披风工具/原料minecraft电脑版skinme方法/步骤1进入http://www.skinme.cc/#./mod_index?&_suid=..._minecraft披风网站

python按钮虚化_深度学习与图像处理之:人像背景虚化-程序员宅基地

文章浏览阅读457次。简单实现思路:对图像内容进行分割,提取人像对图像背景进行模糊化处理将人像和背景重新合成在这里,使用DeepLabV3模型对图像内容进行分割并提取人像,实现的代码如下:import numpy as npimport tensorflow as tfimport cv2from deeplabmodel import *def create_pascal_label_colormap():color..._python 图像处理 深度学习

burpsuite 设置https_从头开发一个BurpSuite数据收集插件-程序员宅基地

文章浏览阅读180次。一段时间没写公众号了,最近写了个 burpsuite 数据收集的插件,于是想出一篇从头编写一个 burpsuite 插件的教程。这个插件的目的收集 burpsuite 请求中的数据,如请求中的子域名、文件名、目录名、参数名等,保存到数据库,然后根据出现的次数进行排序,出现次数多的排在前面,从而强化我们的字典。插件效果演示先来看看插件的效果图:该插件会在 burp 上面新建一个标签页,用来...

随便推点

int gd = DETECT, 显示错误未定义标识符”DETECT“-程序员宅基地

文章浏览阅读1.1k次。DETECT是一个在graphics.h头文件中定义的常量,用于在初始化图形模式时指定使用自动检测功能。你在使用DETECT之前没有包含graphics.h头文件或者在编译时graphics.h文件没有找到,因此导致编译器无法识别DETECT标识符,出现了“未定义标识符”的错误提示。你需要在使用DETECT之前包含graphics.h头文件,例如:#include <graphics...._未定义标识符detect

00-C语言语法_00,,c-程序员宅基地

文章浏览阅读830次。C语言语法变量变量对应这内存中的一段内存。 从内存的角度看变量,变量包括:内存地址(变量首地址)、变量名、变量类型(即变量大小)、变量值等。关键字auto自动变量:是函数的参数 ,和 在函数体内定义的局部变量。函数的形参及代码块中定义的变量都属于auto变量,这是C语言中应用最广的一种变量,这类变量是栈分配的,是动态分配存储空间的。举函数形参为例,当调用该函数时,为形参分配存储空间,当函数调用结束时,系统就自动释放这些存储空间。对**代码块中定义的变量(包含函数中定义的变量),当执行到_00,,c

【数理知识】极坐标与笛卡尔坐标转换_笛卡尔转极坐标-程序员宅基地

文章浏览阅读1.7w次,点赞12次,收藏32次。极坐标与笛卡尔坐标极坐标与笛卡尔坐标笛卡尔坐标系极坐标系转换笛卡尔坐标转换为极坐标极坐标转换为笛卡尔坐标但如果 X 和 Y 是负数呢?总结极坐标与笛卡尔坐标笛卡尔坐标系极坐标系转换从一个系统转换到另一系统,我们用这个三角形:笛卡尔坐标转换为极坐标当我们知道一点的笛卡尔坐标 (x,y)(x,y)(x,y) 想转换成极坐标 (r,θ)(r,θ)(r,θ),我们需要解一个有两条已知边的直角三角形。例子: (12,5) 的极坐标是什么?用勾股定理去计算长的一边(斜边):r2=122+52r=_笛卡尔转极坐标

cfdpost导出图片_科学网—去除 cfd post 输出eps文件中的莫名其妙的点 - 姚程的博文...-程序员宅基地

文章浏览阅读557次。用cfd post 输出eps格式图片时,会莫名其妙地出现一些点,比如,原本要输出一条曲线,但是多了下面这个点。怎么办?辛亏eps文件可以编辑!!!先保留上面的那条线,输出test1.eps然后把线隐藏,再输出test2.eps然后用notepad++把两个eps文件都打开。使用compare插件,比较这两个文本。会发现,test1.eps中多出了一些命令其中有这么几行数据,是以v或者vc结尾的。..._cfdpost导出图片关闭水印

pmw.php,加速调光频率 PWM实现精准LED调光-程序员宅基地

文章浏览阅读707次。无论是经由降压、升压、降压/升压或线性稳压器驱动,连接每一个驱动电路最常见的线程就是须要控制光的输出。现今仅有很少数的应用只需要开和关的简单功能,绝大多数都需要从0~100%去微调光度。目前,针对光度控制方面,主要的两种解决方案为线性调节LED的电流(模拟调光)或在肉眼无法察觉的高频下,让驱动电流从0到目标电流值之间来回切换(数字调光)。利用脉冲宽度调变(PWM)来设定循环和工作周期可能是实现数字..._.xp pwma1wdpjppwm1ptgp7pgdppp0mpwpg邓文747778547146009977ggdppwppgg1ppp

python抢票代码_GitHub标星超12K,抢票神器大更新,支持候补-程序员宅基地

文章浏览阅读178次。掐指一算,距离国庆黄金周还有半个月的时间!你出行的车票都抢到了吗?图片来自 pexels根据国务院办公厅发布的关于 2019 年部分节假日安排的通知,国庆放假安排是:10 月 1 日至 7 日。想要十一出行的小伙伴们,想必前几天刚经历了一波抢票大战。顺便把一个 Python 抢票工具,送到了 GitHub 趋势榜第一。这个项目名很干脆,就是“12306”,目前标星超过 12K。项目发起者是一名叫文..._将配置中的 web_enable 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008)