再使用Mac编辑文件时感觉非常不爽,没有语法高亮,只能通过设置改变所有字体为同一个颜色,看起来还是别扭,

于是找到方法使用vim时可以实现语法高亮显示,操作步骤如下:

1.进入/usr/share/vim目录

#cd /usr/share/vim

2.编辑vimrc文件

#sudo vim vimrc
" Configuration file for vim

set modelines=0" CVE-2007-2438
" Normally we use vim-extensions. If you want true vi-compatibility

" remove change the following statements

set nocompatible" Use Vim defaults instead of 100% vi compatibility

set backspace=2" more powerful backspacing
syntax on

语法高亮
autocmd InsertLeave * se nocul

autocmd InsertEnter * se cul

" 用浅色高亮当前行
set smartindent

" 智能对齐
set autoindent

" 自动对齐
set confirm

" 在处理未保存或只读文件的时候,弹出确认
set tabstop=4

" Tab键的宽度
set softtabstop=4

set shiftwidth=4

"   统一缩进为4
set noexpandtab

" 不要用空格代替制表符
set number

" 显示行号
set history=50

" 历史纪录
set hlsearch

set incsearch

" 搜索逐字符高亮
set gdefault

" 行内替换
set encoding=utf-8

set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1

" 编码设置
colorscheme torte

" 设置颜色主题
"set guifont=Menlo:h16:cANSI

" 设置字体
set langmenu=zn_CN.UTF-8

set helplang=cn

" 语言设置
set cmdheight=2

" 命令行(在状态行)的高度,默认为1,这里是2
set ruler

" 在编辑过程中,在右下角显示光标位置的状态行
set laststatus=2

" 总是显示状态行
set showcmd

" 在状态行显示目前所执行的命令,未完成的指令片段亦会显示出来
set scrolloff=3

" 光标移动到buffer的顶部和底部时保持3行距离
set showmatch

" 高亮显示对应的括号
set matchtime=5

" 对应括号高亮的时间(单位是十分之一秒)
set autowrite

" 在切换buffer时自动保存当前文件
set wildmenu

" 增强模式中的命令行自动完成操作
set linespace=2

" 字符间插入的像素行数目
set whichwrap=b,s,<,>,[,]

" 开启Normal或Visual模式下Backspace键,空格键,左方向键,右方向键,Insert或replace模式下左方向键,右方向键跳行的功能。
filetype plugin indent on

" 分为三部分命令:file on, file plugin on, file indent on.分别表示自动识别文件类型,用文件类型脚本,使用缩进定义文件。

 
 
 

NERDTree 插件

NERDTree的作用就是列出当前路径的目录树,一般IDE都是有的。可以方便的浏览项目的总体的目录结构和创建删除重命名文件或文件名。
至于它的配置我做了如下修改

 " NERDTree config
map <F2> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif

第一条是说使用F2键快速调出和隐藏它;
第二条是关闭vim时,如果打开的文件除了NERDTree没有其他文件时,它自动关闭,减少多次按:q!。
如果想打开vim时自动打开NERDTree,可以如下设定

autocmd vimenter * NERDTree
ctrl + w + h    光标 focus 左侧树形目录
ctrl + w + l 光标 focus 右侧文件显示窗口
ctrl + w + w 光标自动在左右侧窗口切换 #!!!
ctrl + w + r 移动当前窗口的布局位置
o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t 在新 Tab 中打开选中文件/书签,并跳到新 Tab
T 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i split 一个新窗口打开选中文件,并跳到该窗口
gi split 一个新窗口打开选中文件,但不跳到该窗口
s vsplit 一个新窗口打开选中文件,并跳到该窗口
gs vsplit 一个新 窗口打开选中文件,但不跳到该窗口
! 执行当前文件
O 递归打开选中 结点下的所有目录
x 合拢选中结点的父目录
X 递归 合拢选中结点下的所有目录
e Edit the current dif 双击 相当于 NERDTree-o
中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e D 删除当前书签 P 跳到根结点
p 跳到父结点
K 跳到当前目录下同级的第一个结点
J 跳到当前目录下同级的最后一个结点
k 跳到当前目录下同级的前一个结点
j 跳到当前目录下同级的后一个结点 C 将选中目录或选中文件的父目录设为根结点
u 将当前根结点的父目录设为根目录,并变成合拢原根结点
U 将当前根结点的父目录设为根目录,但保持展开原根结点
r 递归刷新选中目录
R 递归刷新根结点
m 显示文件系统菜单 #!!!然后根据提示进行文件的操作如新建,重命名等
cd 将 CWD 设为选中目录 I 切换是否显示隐藏文件
f 切换是否使用文件过滤器
F 切换是否显示文件
B 切换是否显示书签 q 关闭 NerdTree 窗口
? 切换是否显示 Quick Help
:tabnew [++opt选项] [+cmd] 文件      建立对指定文件新的tab
:tabc 关闭当前的 tab
:tabo 关闭所有其他的 tab
:tabs 查看所有打开的 tab
:tabp 前一个 tab
:tabn 后一个 tab 标准模式下:
gT 前一个 tab
gt 后一个 tab MacVim 还可以借助快捷键来完成 tab 的关闭、切换
cmd+w 关闭当前的 tab
cmd+{ 前一个 tab
cmd+} 后一个 tab

Ctags 插件

1、安装Exuberant Ctags 勇敢点进去,然后点击那个

Source only distribution (gzipped) ctags-5.8.tar.gz 

解压缩到本地,你会发现里面很多源文件,so,当然要安装了xcode。

打开终端进入该解压缩目录执行:

./configure make sudo make install

这里注意了!

默认mac也有一个ctags,但那个是简单的。我们用刚刚安装的,刚安装的应该在/usr/local/bin

通过终端输入:which ctags 看路径是不是。

如果是/usr/bin/ctags

恭喜你,要让系统默认先看到我们安装的ctags:

打开~/根目录下的.profile,如果你也没发现有这个文件,没关系,创建一个!

然后在里面添加:export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

再到终端执行:source ~/.profile

然后再看看which ctags,如无意外,应该是/usr/local/bin/ctags

最后在.vimrc配置文件添加: let Tlist_Ctags_Cmd="/usr/local/bin/ctags"

然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方

mac的vim使用的更多相关文章

  1. Mac 配置 vim

    Mac 配置 vim 安装 vim 7.4 cd ~ hg clone https://code.google.com/p/vim/ cd vim ./configure --with-feature ...

  2. Mac之vim普通命令使用

    Mac之vim普通命令使用 标签: vim命令 高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x ...

  3. Mac下Vim编辑快捷键小结(移动光标)

    Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...

  4. mac编辑器vim美化

    mac编辑器vim美化 contents 环境 效果呈现 安装 quick start 环境 mac10.13.6,vim7(该版本mac自带的vim是7),git mac下vim的配置文件有两处 一 ...

  5. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  6. mac配置vim-go

    基本的设置信息(参考网址:http://hessian.cn/p/1026.html): "还是配置/.vimrc文件. syn on "语法支持 set laststatus=2 ...

  7. mac 下vim 配置文件

    " Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-ex ...

  8. 搭建MAC下vim环境

    MAC下的IDE实在是不好用,最终放弃了IDE准备直接用vim来看代码了,那么就需要设置一下vim. 将家目录下面.vim中的vimrc用下面的内容替换: " Set vundle sett ...

  9. 【vim】mac配置vim,molokai配色

    效果如下: 首先修改主目录下的.vimrc: "======================================================================= ...

  10. Mac升级Vim

    Mac自带的vim版本过低,可以使用如下方式进行升级,说白了就是备份替换: 1. 使用port安装新的vim,安装目录在/opt/local sudo port install vim 2. 如果已经 ...

随机推荐

  1. order-by-offset-fetch

  2. UCLOUD使用云主机

    购买云主机后,购买弹性ip: 设置外网防火墙,浏览器否则无法访问服务器资源: 在云主机绑定自定义的防火墙: 使用ssh登录服务器: 一般centos自带apache,没有的话安装,具体教程百度: 安装 ...

  3. Alter the structure of web pages with JavaScript

    Most of the DOM methods you've seen so far are useful for identifying elements. Both getElementById ...

  4. 对于STM32别名区的理解 (转载)

    1. 什么是位段.位带别名区? 2. 它有什么好处? 答1: 是这样的,记得MCS51吗? MCS51就是有位操作,以一位(BIT)为数据对象的操作,       MCS51可以简单的将P1口的第2位 ...

  5. 如何让button保持点击状态

    http://blog.csdn.net/u010957508/article/details/38385207 他的原理就是在代码里面: view.setSelected(true); 而其他的: ...

  6. 《Cracking the Coding Interview》——第8章:面向对象设计——题目9

    2014-04-23 23:57 题目:如何设计一个内存文件系统,如果可以的话,附上一些代码示例. 解法:很遗憾,对我来说不可以.完全没有相关经验,所以实在无从入手.这题目应该和工作经验相关吧? 代码 ...

  7. 能ping通网络,也正常连接,就是打不开网页,无法访问网络

    netsh winsock reset命令,作用是重置 Winsock 目录.如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令 ...

  8. Bit与Byte的区别

    在工作中遇到一些概念模糊的地方, 需要记住了bit意为“位”或“比特”,是计算机运算的基础: byte意为“字节”,是计算机文件大小的基本计算单位: 说到usb2.0标准接口传输速率.许多人都将“48 ...

  9. CSU-2214 Sequence Magic

    题目链接 http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2214 题目 Description 有一个1到N的自然数序列1,2,3, ...

  10. [Leetcode/Javascript] 461.Hamming Distance

    [Leetcode/Javascript] 461.Hamming Distance 题目 The Hamming distance between two integers is the numbe ...