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版本的,用起来真的爽的不要不要的—>强烈推荐
文章浏览阅读3.9k次。03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global: Deprecated Thread methods are not supported.03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global: _timethread().stop();报错
文章浏览阅读2.3k次。/*** 汉字转Unicode编码* @param string $str 原始汉字的字符串* @param string $encoding 原始汉字的编码* @param boot $ishex 是否为十六进制表示(支持十六进制和十进制)* @param string $prefix 编码后的前缀* @param string $postfix 编码后的后缀*/function unicode..._%e5
文章浏览阅读6.4w次,点赞7次,收藏10次。东汉十三州以及州下辖的郡县。_三国地图十三州精确到城池
文章浏览阅读1.1k次。在xxl-job中,RPC即用于调度中心请求执行器执行job、kill job,也用于执行器请求调度中心主动注册、执行结果上报。xxl-job实现的RPC类似Feign框架,是基于http..._xxljob 用的什么协议
文章浏览阅读555次,点赞17次,收藏22次。JSERIALIZE_DEF_OBJECTLIST(Person,Object,objectList) //接受json中的objectList对象数组,对象数组使用此宏定义。JSERIALIZE_DEF_OBJECTTYPE(Person,Son,son) //接受json中的son对象,对象成员使用此宏定义。//输出反序列化结果。
文章浏览阅读7.8k次,点赞2次,收藏6次。DosBox本身带有5.0版的DOS系统,启动后虚拟一个Z盘存放有Dosbox特有的外部指令,如config.com、imgmount.com等,经测试,可以顺利安装各版本的windows 3.1系统,但是不能安装win95,需要用原版的dos镜像启动才能安装。1. 获取启动盘镜像文件 下载Win95启动软盘镜像文件,名为boot.img,放到DosBox 0.74的目录下。2. 制作硬盘镜像文件_dosbox imgmount
文章浏览阅读2.6k次,点赞3次,收藏2次。1.制作系统应用程序。 ios的程序分为mobile和root权限模式,我们一般用xcode开发的app取得的是mobile权限,但是ios越狱后安装的app如:Cydia、91助手、PP助手等均为系统级应用程序。系统级app的好处是:用不无法手动删除、取得完全的root权限、可设置开机启动项等等功能。通过xcode打包的ipa是无法安装成为系统app的,所以我们需要另外一种打包方式:_depends libundirect.depends firmware
文章浏览阅读254次,点赞5次,收藏2次。继承1. 继承的基本概念1.1 继承的定义1.2 继承基类成员访问方式的变化2. 基类和派生类对象赋值转换3. 继承中的作用域1. 继承的基本概念继承是面向对象程序设计使代码复用的最重要的手段,允许在保持原有类特性的基础上进行扩展,增加功能,产生新的类,称为派生类/子类。继承是类设计层次的复用。1.1 继承的定义派生类 : 继承方式 基类class Student : public Person1.2 继承基类成员访问方式的变化父类成员在子类中的访问权限(除过父类中的私有成员):_什么是赋值转换
文章浏览阅读2.3k次,点赞10次,收藏36次。基于USPS和UCI数据集的近邻法分类一、问题描述 使用近邻算法进行分类问题的研究,并在USPS手写体数据集和UCI数据集上的iris和sonar数据上验证算法的有效性,并分别对近邻法中k近邻算法、最近邻算法和Fisher线性判别进行对比分析。二、数据集说明2.1 USPS手写体 USPS,美国邮政署,是美国联邦政府的独立机构,其中的手_usps数据集是在哪里提出的
文章浏览阅读1.9k次。 平时工作中用到Excel表格的几率特别大,也积累了一些小技巧,今天就给大家分享一下计算年龄的方法。 在Excel表格中利用“系统时间”和“出生年月”来计算“周岁年龄”、“虚岁年龄”和“实际年龄”是非常方便的,特别是人事管理和工资的统计中遇到的可能性比较大,一起来看一下计算年龄的方法吧。 方法一 第一步,如下图所示,先把需要计算年龄的出生日期输入到表格中。 第二步,然后在B2单元格中输..._access计算年龄
文章浏览阅读641次,点赞23次,收藏18次。虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
文章浏览阅读286次。分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net先说一件值得思考的事情:高考的时候大家都是一样的教科书,同一个教室,同样的老师辅导,时间精力基本差不多,可是最后别人考的是清华北大或者一本,而你的实力只能考个三本,为什么?当然这里主要是智商的影响,那么其他因素呢?智商解决的问题能不能后天用其他方式来补位一下?大家平时都看过很多方法论的文章,看的时候很爽觉得非常有用,但是一两周后基本还是老样子了。其中有很大_网络智能知识体系的构建方法