再使用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. python实现排序之冒泡排序

    冒泡排序:是将一串无需的数字,排列成有序的.通过相邻的两个数作比较,大的往后移,经过反复的比较,最后得出一串有序的数列. 那么用代码该如何实现? 其实这个问题的思路就是判断每相邻的两个数,进行大小比较 ...

  2. flask项目实战--论坛

    项目结构搭建 1:用pycharm创建flask bbs项目 2:分别创建config.py.exts.py.models.py.manage.py文件 创建一个apps包存放前台,后台,公共的模块 ...

  3. [BZOJ2243][SDOI2011]染色(树链剖分)

    [传送门] 树链剖分就行了,注意线段树上颜色的合并 Code #include <cstdio> #include <algorithm> #define N 100010 # ...

  4. Leetcode 701. 二叉搜索树中的插入操作

    题目链接 https://leetcode.com/problems/insert-into-a-binary-search-tree/description/ 题目描述 给定二叉搜索树(BST)的根 ...

  5. Git-历史穿梭

    图形工具:gitk gitk是最早实现的一个图形化的Git版本库浏览器软件,基于tcl/tk实现,因此gitk非常简洁,本身就是一个1万多行的tcl脚本写成的.gitk的代码已经和Git的代码放在同一 ...

  6. DHCP服务(dhcpd)

    DHCP动态分配主机地址(Dynamic Host Configuration Protocol) 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局 ...

  7. 6,Flask 中内置的 Session

    Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from ...

  8. 16.2,docker网络

      Docker 允许通过外部访问容器或容器互联的方式来提供网络服务. 端口映射允许外部访问容器 --link 容器互联 容器桥接网络 .通过--link容器通信,给test2添加一个hosts解析记 ...

  9. 3437: 小P的牧场

    3437: 小P的牧场 思路 斜率优化. dp[i]表示到第i个点(第i个点按控制台)的最小代价. 代码 #include<cstdio> #include<iostream> ...

  10. unity3d中C#与JS的一些区别

    unity3d目前支持C#和JS两种脚本语言. 学习过程中发现很多教程使用的是JS语言,自己还是用C#比较多,unity原生使用的是Mono,使用C#会更加接近unity的编程思想. 1.方法的定义, ...