Mac 下升级 vim 并自己配置 vim 的过程
1.升级 vim
我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版:
使用 homebrew :
brew install vim --with-lua --with-override-system-vim
这将下载最新的 vim 版本并替换系统自带的 vim 。
安装完成后重启终端,更新环境变量,输入 vim 后 vim 的版本便为最新版本了。
如果以后想更新 vim 版本,直接输入 brew upgrade vim 便能快速升级了。
想添加 python3 的支持,在以上命令基础上加上 —with-python3 。
2.配置自己的 .vimrc 文件
vim 的配置文件在根目录的 .vimrc 文件中,如果没有,自己创建一个。
打开 .vimrc 文件,输入配置,我的配置如下:
"显示行号
set nu "启动时隐去援助提示
set shortmess=atI "语法高亮
syntax on "使用vim的键盘模式
set nocompatible "不需要备份
set nobackup "没有保存或文件只读时弹出确认
set confirm "鼠标可用
set mouse-=a "tab缩进
set tabstop=
set shiftwidth=
set expandtab
set smarttab "文件自动检测外部更改
set autoread "c文件自动缩进
set cindent "自动对齐
set autoindent "智能缩进
set smartindent "高亮查找匹配
set hlsearch "显示匹配
set showmatch "显示标尺,就是在右下角显示光标位置
set ruler "去除vi的一致性
set nocompatible "设置键盘映射,通过空格设置折叠
nnoremap <space> @=((foldclosed(line('.')<)?'zc':'zo'))<CR>
""""""""""""""""""""""""""""""""""""""""""""""
"不要闪烁
set novisualbell "启动显示状态行
set laststatus= "浅色显示当前行
autocmd InsertLeave * se nocul "用浅色高亮当前行
autocmd InsertEnter * se cul "显示输入的命令
set showcmd "被分割窗口之间显示空白
set fillchars=vert:/
set fillchars=stl:/
set fillchars=stlnc:/ " vundle 环境设置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'tomasr/molokai'
Plugin 'vim-scripts/phd'
Plugin 'Lokaltog/vim-powerline'
Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'Raimondi/delimitMate'
" 插件列表结束
call vundle#end()
filetype plugin indent on " 配色方案
"set background=dark
"colorscheme solarized
"colorscheme molokai
"colorscheme phd " 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T " 总是显示状态栏
set laststatus= " 禁止折行
set nowrap " 设置状态栏主题风格
let g:Powerline_colorscheme='solarized256' syntax keyword cppSTLtype initializer_list " 基于缩进或语法进行代码折叠
"set foldmethod=indent
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable "允许用退格键删除字符
set backspace=indent,eol,start "编码设置
set encoding=utf- "共享剪切板
set clipboard=unnamed
vim 的插件使用 vundle 管理:
安装 vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
如我的配置文件所示,Plugin '插件地址' 即为添加插件,如:
Plugin 'dyng/ctrlsf.vim'
安装插件,先找到其在 github.com 的地址,再将配置信息其加入 .vimrc 中的call vundle#begin() 和 call vundle#end() 之间,最后进入 vim 执行:
:PluginInstall
便安装完成插件。
如需删除插件,只需将 Plugin '插件地址' 删除或者注释掉,再进入 vim 执行:
:PluginClean
便将插件删除。
如需升级插件,进入 vim 执行:
:PluginUpdate
便完成升级。
Mac 下升级 vim 并自己配置 vim 的过程的更多相关文章
- 【转】Mac下升级python2.7到python3.6
1. 前言 Mac系统自带python2.7,本文目的是将自带的python升级到3.6版本. 网上有本多的做法是让python2.7和python3.X两个版本共存,博主并不知道,是两版本共存好,还 ...
- Mac下Android studio 之NDK配置教程(一)
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...
- Mac下Virtual Box Host-Only网络配置
Mac下的虚拟机其实有很多,Parallels.VMware Fusion.Virtual Box都不错,Parallels是目前试过感觉最好的,Fusion装64位系统驱动支持似乎不完善,而且混合模 ...
- MAC下用homebrew安装及配置apache、php和mysql
我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...
- mac下Android开发环境的配置
近似一天的时间,终于把Android环境配置好了. 总结:主要问题在于android的网站是国外,下载东西的时候需要vpn才可以.所以会出现各种各样的问题. 环境:Android Studio + S ...
- [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建
原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...
- Mac下的常用终端命令与vim常用命令
因为很少用命令行,老被鄙视,所以今天记录一下常用的命令行: cd 切换工作目录 . 表示当前目录 .. 表示当前目录的上一级目录 / 根目录/目录分隔符 ./ 当前目录 ../ 回到上一级目录 ls ...
- mac下supervisor安装及简单配置
supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...
- Mac 下 java环境 maven环境配置
java环境配置 下载jdk,按照提示安装 我下的是1.8.0版本,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...
随机推荐
- 构造函数与析构函数(construction undergoing)
构造函数和析构函数 一.构造函数: 1.普通构造函数:在对象被创建时利用特定的值构造对象,将对象初始化到一个特定的状态. 特性:构造函数的函数名和类名相同:没有返回值:在对象被创建时被自动调用:如果有 ...
- hibernate框架学习笔记6:事务
MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: ...
- 听翁恺老师mooc笔记(7)--字符串1
C语言中字符串的定义 如果定义一个字符数组word,并使用大括号对其初始化,如下图所示: 但是这个不是C语言的字符串,只是字符数组,不是字符串,因为不能使用字符串的方式进行计算.那么C语言的字符串长什 ...
- Alpha第五天
Alpha第五天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...
- 201621123043《java程序设计》第五周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口. Comparable接口 .Comparator接口.compareTo. 1.2 尝试使用思维导图将这些关键词组织起来 ...
- 201621123027 《Java程序设计》第1周学习总结
01621123027 <Java程序设计>第1周学习总结 1.本周学习总结 关键词:总概.承接.面向对象化 我认为第一周的Java学习是一些总结概括性质的内容,在比较联系之前学习过的 ...
- Android webview Mixed Content无法显示图片解决
转自:http://blog.csdn.net/crazy_zihao/article/details/51557425 前言 在使用WebView加载https资源文件时,如果认证证书不被Andro ...
- Telnet、SSH和VNC 区别
Telnet Telnet是进行远程登录的标准协议,它是当今Internet上应用最广泛的协议之一.它把用户正在使用的终 端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软 ...
- 九、Python发送QQ邮件(SMTP)
看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...
- python全栈开发-logging模块(日记专用)
一.概述 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,l ...