昨天晚上+今天早上怒赶了一份关于Vim的自动化配置的Shell脚本,之前在github上见过一个这么一个类似的脚本项目,然后又见到同校的有一位师兄也写过这么一个类似的脚本文件,然后我也抽分跟着写一份属于自己的Vim的配置脚本文件,这一份文件的配置很大程度上参考了以上的两份配置文件,当然也加上了不少属于自己的配置,总的一句话来说综合了上述两份的优势,去掉不适合自己的一些配置,添加上适合自己配置的一个结合体。

配置文件如下:(名字保存为ourvim.sh)

#!/bin/bash
cd
echo "一起来愉快地使用Vim来敲打出我们的代码"
install_handle=""
if which apt-get >/dev/null; then
install_handle="apt-get"
elif which yum >/dev/null; then
install_handle="yum"
else
echo -n "Enter your installer:"
read install_name
install_handle=$install_name
fi
sudo $install_handle install -y gcc g++ vim ctags xclip astyle python-setuptools python-dev git python-pip python-twisted xsel Cmake sl cowsay > /dev/null
sudo pip install --upgrade autopep8 > /dev/null #python缩进 echo "------------把老vim备份移除--------------------------"
[ -d .vim ] && mv -v .vim .vim.$(stat -c%Y .vim)
[ -f .vimrc ] && mv -v .vimrc .vimrc.$(stat -c%Y .vimrc) echo "------------咱们来休闲一下---------------------------"
echo " duang !duang !duang !duang !duang !"
sl
cowsay "我不会使用Vim肿么办?"
cowsay "没关系,就让这个脚本带你装逼带你飞!!"
echo "------------从github上获取Vim的一些配置文件-----------"
[ ! -d "myvimrc" ] && git clone git@github.com:jusonalien/ourvim.git > /dev/null
cp -R ~/ourvim/vim ~/.vim
cp ~/ourvim/vimrc ~/.vimrc echo "------------插件的安装-------------------------------"
echo "安装vundle,一个管理插件的插件"
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle > /dev/null
cd ~/.vim/bundle
echo "这个Vim的配置具体请到 https://github.com/jusonalien/ourvim 下查看" > jusonalien
echo "安装vim颜色" >> jusonalien
echo "安装h与cpp切换插件" >> jusonalien
echo "安装好看的状态条" >> jusonalien
echo "安装目录树插件,完成后使用时按F2即可" >> jusonalien
echo "安装处理括号神器" >> jusonalien
echo "安装错误提示插件" >> jusonalien
echo "安装OutLine插件" >> jusonalien
echo "安装Command-T,用于模糊搜索" >> jusonalien
echo "jusonalien 正在努力地为您安装各种好玩的插件" >> jusonalien
echo "请耐心等待。。。。。。。。。" >> jusonalien
echo "按F5,会执行程序" >> jusonalien
echo "按F4,会显示OutLine" >> jusonalien
echo "按F3,会显示目录" >> jusonalien
echo "程序员只有两种信仰" >> jusonalien
echo "第一种是信仰Vim的" >> jusonalien
echo "另一种是不信仰Vim的" >> jusonalien vim jusonalien -c "BundleInstall" -c "q" -c "q"
rm jusonalien
cd ~/.vim/bundle/YouCompleteMe
sudo ./install.sh --clang-completer ## 设置solarized 主题的颜色
mkdir ~/.fonts
cd ~/.fonts
git clone https://github.com/eugeneching/consolas-powerline-vim.git
echo "-----------开始配置颜色咯-------------------"
#配色开始
echo 'export TERM=xterm-256color' >> ~/.bashrc
cp ~/ourvim/dircolors.256dark ~/.dircolors
eval 'dircolors ~/.dircolors' > /dev/null
cd ~/ourvim
. set_dark.sh
rm -Rf ~/ourvim
echo "安装终于完成~\(≧▽≦)/~啦啦啦"

这份文件的使用流程:

1.先为shell脚本赋予可执行的权限:

chmod +x ourvim.sh

2.然后再执行文件:

./ourvim.sh

这个也算是个人的一个小小的开源项目吧~

配置好后的效果大致如下:

这个项目已经托管到个人的Github的主页了,详细请点击链接~欢迎各路Vim爱好者使用。

关于Vim的一个配置文件的更多相关文章

  1. 【OpenWRT之旅】如何自定义一个配置文件的设置界面

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1. 引言 OpenWRT中采用LuCI作为它的Web interface界面框架,采用Lua语言.在本文中将以 ...

  2. vue+webpack项目实际工作中需要生成一个配置文件供生产环境使用

    大家都知道webpack打包十分方便,但是在工作中,前端写好的项目需要后端进行部署,就需要有一个配置文件. 使用插件 :  GenerateAssetPlugin , 使用方法 : 1  在项目中安装 ...

  3. vue打包之后生成一个配置文件修改接口

    前言: 我们的vue代码打包上传到服务器之后, 要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口. 能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名 ...

  4. Mac、Linux下两个Emacs共享一个配置文件

    Mac.Linux下两个Emacs共享一个配置文件 有些嵌入式的实验需要在Linux进行,就安装了RHEL6.4的虚拟机,下载并编译了Emacs. 在Linux的.emacs文件中加入以下语句,即可引 ...

  5. linux常用终端指令+如何用vim写一个c程序并运行

    在装好ubuntu之后今天学习了一些linux的一些基础知识: windows里面打开命令窗口是win+r,在linux系统里面,ctrl+alt+t打开终端,今天的一些指令都是围绕终端来说的 首先s ...

  6. vim note(6)--vim的一个较全的介绍(转)

    vim的配置文件 ~/.vimrc       用户的默认配置文件 ~/.vim/plugin/   用户的默认脚本文件的存放文件夹 ~/.vim/ftplugin/ 用户的默认文件类型相关脚本文件的 ...

  7. Linux系统的vim编辑器的配置文件的初步说明

    vim 编辑器的基本说明 vi编辑器的功能类似于Windows下的记事本,只能编辑普通文本,而vim编辑器则相当于Windows下的notepad++等高级编辑器,提升了代码开发效率. 将vi命令默认 ...

  8. Vim的强大配置文件

    我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2.自动插入文件头 ,新建C.C++源文件时自动插入表 ...

  9. Vim的强大配置文件(一键配置)

    转:https://blog.csdn.net/u010871058/article/details/54253774/ 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点 ...

随机推荐

  1. C++中的左移、右移运算

    移位运算包含“逻辑移位”(logical shift)和“算术移位”(arithmetic shift). 逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充. 算术移位:移出去的位 ...

  2. Codeforces396A - On Number of Decompositions into Multipliers

    Portal Description 给出\(n(n\leq500)\)个\([1,10^9]\)的数,令\(m=\prod_{i=1}^n a_i\).求有多少个有序排列\(\{a_n\}\),使得 ...

  3. 【DFS】codeforces B. Sagheer, the Hausmeister

    http://codeforces.com/contest/812/problem/B [题意] 有一个n*m的棋盘,每个小格子有0或1两种状态,现在要把所有的1都变成0,问最少的步数是多少?初始位置 ...

  4. svg学习之旅(3)

    常用标签: <g>标签 是一个容器(分组)标签,用来组合元素的 - 共用属性 - transform = "translate(0,0)"<text>标签 ...

  5. 《TCP/IP详解卷1:协议》——第6章 ICMP:Internet控制报文协议(转载)

    1.引言 ICMP被认为是IP层的一个组成部分,它传递差错报文以及其他需要注意的信息.ICMP报文通常被IP层或更高层协议(TCP或UDP)使用.一些ICMP报文把差错报文返回给用户进程. ICMP报 ...

  6. 在线修改MySQL大表的表结构

    由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段.此表在设计之时完全按照需求实现,并没有多余的保留字段. 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通 ...

  7. iOS 混合变换旋转 CGAffineTransform 的使用

    在ios 中, Core Graphics 提供了一系列的函数可以在一个变换的基础上做深层次的变换,如果做一个既要缩放又要旋转的变换,以下的方法比较实用. CGAffineTransformScale ...

  8. oc温习八:static、extern、const 的了解

    参考文章:http://www.cocoachina.com/ios/20161110/18035.html 1.const 这个单词翻译成中文是“常量”的意思.在程序中我们知道“常量”的值是不能变的 ...

  9. ArrayList内部实现原理

    数组在创建的时候长度是固定的,那么就有往ArrayList中不断添加对象的时候,那么ArrayList是如何管理这些数组的? ArrayList内部通过Object[]实现,我们通过分析ArrayLi ...

  10. IOS开发 AFN和ASI

    做项目有一段时间了,项目过程中处理网络请求难免的,而对于选择第三方来处理网络请求肯定是个明智的选择! AFNetworking和ASIHTTPRequest   这两个第三方该如何选择       我 ...