安装配置MacVim全记录
    Wednesday, August 24, 2016
    9:02 AM
    安装配置MacVim全记录
    .
    2015-01-02 13:37 1232人阅读 评论(0) 收藏 举报
    .
    安装配置MacVim全记录 - 图1
    分类:
    VI(18)
    安装配置MacVim全记录 - 图2
    Python(11)
    安装配置MacVim全记录 - 图3
    .
    目录(?)[+]
    http://chendeai.com/?p=218
    因为在学习Python过程中感觉缺了一个可以用的编辑器,所以准备为我的Mac配置好一个MacVim用来写Python的东西.
    这篇文章会记录整个过程,为以后备忘。
    参考文章:基于MacVim打造Python IDE

    1. 全文目录

    2. 安装MacVim

    3. 初步配置:创建.Vimrc文件,完成普通设置
    4. 进阶配置:下载,安装插件
    5. 安装MacVim
    6. 在这个地址下载压缩包
    7. 将下载压缩包解压,将MacVim.app拷贝到Applications目录,同时使用如下命令
      //source_dir为压缩包解压出来的目录,在运行需要输入root密码
      sudo cp source_dir/mvim /usr/local/bin
      即拷贝mvim的shell程序到/usr/local/bin目录下
    8. 此刻在终端中运行mvim命令,应该能打开MacVim了
    9. 初步配置:创建.Vimrc文件,完成普通设置
      直接附上我的初步的.vimrc文件
      “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
      “ 文件说明
      “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
      “ 自定义的Vim设置
      “ 最后修改时间:2014/09/20i
      “ 作者:Hat_Cloud
      “ 邮箱: jijianfeng529@gmail.com
      “ 博客: www.chendeai.com

    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ 一般设定
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ 设定默认解码
    set fenc=utf-8
    set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
    “去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
    set nocompatible
    “ 显示中文帮助
    if version >= 603
    set helplang=cn
    set encoding=utf-8
    endif
    “ 语法高亮
    syntax on
    “ 设置配色
    colorscheme Distinguished
    “ 设置字体
    set guifont=Monaco:h12
    “ 设置gvim启动窗口的位置,以及大小
    winpos 300 105
    set lines=30 columns=100
    “ 开启行号显示
    set number
    “下面两行在进行编写代码时,在格式对起上很有用;
    “第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
    “第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
    “写上很有用
    set autoindent
    set smartindent
    “查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
    “个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
    “次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
    “时,别忘记回车
    set incsearch
    “ 高亮当前行
    set cursorline
    “ 启动的时候不显示那个援助索马里儿童的提示
    set shortmess=atI
    “ 我的状态行显示的内容(包括文件类型和解码)
    set statusline=%F%m%r%h%w[POS=%l,%v][%p%%]%{strftime(“%d/%m/%y\ -\ %H:%M”)}
    “ 总是显示状态行
    set laststatus=2
    “ 制表符为4
    set tabstop=4
    “ 统一缩进为4
    set softtabstop=4
    set shiftwidth=4
    “ 在c,c++,python文件中用空格代替制表符
    autocmd FileType c,cpp,python set shiftwidth=4 | set expandtab
    “ 侦测文件类型
    filetype on
    “ 载入文件类型插件
    filetype plugin on
    “ 为特定文件类型载入相关缩进文件
    filetype indent on
    “ 括号自动补全
    inoremap ( ()i
    inoremap [ []i
    inoremap { {}i
    inoremap < <>i
    “ 高亮显示匹配的括号
    set showmatch
    “ 匹配括号高亮的时间(单位是十分之一秒)
    set matchtime=1
    “ 搜索忽略大小写
    set ignorecase
    “ 自动保存
    set autowrite
    “ 设置当文件被改动时自动载入
    set autoread
    “ 在处理未保存或只读文件的时候,弹出确认
    set confirm
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ C,C++,Java,Python按F5编译运行
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    map :call CompileRunGcc()
    func! CompileRunGcc()
    exec “w”
    if &filetype == ‘c’
    exec “!gcc % -o %<”
    exec “! ./%<”
    elseif &filetype == ‘cpp’
    exec “!g++ % -o %<”
    exec “! ./%<”
    elseif &filetype == ‘java’
    exec “!javac %”
    exec “!java %<”
    elseif &filetype == ‘sh’
    :!./%
    elseif &filetype == ‘python’
    exec “!python %”
    endif
    endfunc
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ 新文件标题
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ 新建.c,.h,.sh,.java文件,自动插入文件头
    autocmd BufNewFile .py,.cpp,.[ch],.sh,.java exec “:call SetTitle()”
    “ 定义函数SetTitle,自动插入文件头
    func SetTitle()
    “ 如果文件类型为.sh文件
    if &filetype == ‘sh’
    call setline(1,
    “#########################################################################”)
    call append(line(“.”), “# File Name: “.expand(“%”))
    call append(line(“.”)+1, “# Author: Hat_Cloud”)
    call append(line(“.”)+2, “# mail: jijianfeng529@gmail.com“)
    call append(line(“.”)+3, “# Created Time: “.strftime(“%F %R”))
    call append(line(“.”)+4, “#########################################################################”)
    call append(line(“.”)+5, “#!/bin/bash”)
    call append(line(“.”)+6, “”)
    else
    call setline(1, “/
    “)
    call append(line(“.”), “ > File Name: “.expand(“%”))
    call append(line(“.”)+1, “ > Author: Hat_Cloud”)
    call append(line(“.”)+2, “ > Mail: jijianfeng529@gmail.com “)
    call append(line(“.”)+3, “ > Created Time: “.strftime(“%F %R”))
    call append(line(“.”)+4, “ /“)
    call append(line(“.”)+5, “”)
    endif
    if &filetype == ‘python’
    call append(line(“.”)+5, “#!/usr/bin/env python”)
    call append(line(“.”)+6, “#coding: utf-8”)
    call append(line(“.”)+7, “”)
    endif
    if &filetype == ‘cpp’
    call append(line(“.”)+6, “#include”)
    call append(line(“.”)+7, “using namespace std;”)
    call append(line(“.”)+8, “”)
    endif
    if &filetype == ‘c’
    call append(line(“.”)+6, “#include“)
    call append(line(“.”)+7, “”)
    endif
    “ 新建文件后,自动定位到文件末尾
    autocmd BufNewFile normal G
    endfunc
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ 插件相关
    “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
    “ pathogen开启插件动态加载
    call pathogen#runtime_append_all_bundles()
    “ 设置NerdTree(侧边栏)
    map :NERDTreeMirror
    map :NERDTreeToggle
    “ 关闭文件时同时关闭文件浏览器
    let NERDTreeQuitOnOpen = 1
    “当打开vim且没有文件时自动打开NERDTree
    “autocmd vimenter
    if !argc() | NERDTree | endif
    “ 只剩 NERDTree时自动关闭
    “autocmd bufenter * if (winnr(“$”) == 1 && exists(“b:NERDTreeType”) && b:NERDTreeType == “primary”) | q | endif
    “ 设置Pydiction(Python自动补全插件)
    let g:pydiction_location = ‘/Users/Jeff/.vim/bundle/pydiction/complete-dict’
    let g:pydiction_menu_height = 10
    “ CTags & Tagslist的设定
    let Tlist_Sort_Type = “name” “ 按照名称排序
    let Tlist_Use_Right_Window = 1 “ 在右侧显示窗口
    let Tlist_Compart_Format = 1 “ 压缩方式
    let Tlist_Exist_OnlyWindow = 1 “ 如果只有一个buffer,kill窗口也kill掉buffer
    map :TlistToggle
    “let Tlist_Auto_Open=0 “默认打开Taglist
    “”let Tlist_File_Fold_Auto_Close = 0 “ 不要关闭其他文件的tags
    “”let Tlist_Enable_Fold_Column = 0 “ 不要显示折叠树
    “let Tlist_Show_One_File=1 “不同时显示多个文件的tag,只显示当前文件的
    “设置tags
    “set tags=tags
    “set autochdir

    1. 进阶配置:下载,安装插件
    2. 安装Pathogen,管理插件的插件

    参考文章:推荐pathogen.vim,管理插件的插件

    1. 将pathogen.vim安装在~/.vim/autoload里
    2. 在vimrc里加一句call pathogen#runtime_append_all_bundles()
    3. 安装NerdTree,NerdTree具体用途详细其主页。

    参考文章:Vim试水之六:NerdTree插件安装

    1. 安装:安装方法详见它的GitHub上的ReadMe文件。
    2. 安装完以后在Vimrc中加入如下设置代码:
      ” 设置NerdTree
      map :NERDTreeMirror
      map :NERDTreeToggle
      按F3即可显示或隐藏NerdTree区域了,在Vim中输入:NERDtree也可打开NerdTree区域
    3. 安装Pydiction,让vim支持python代码的自动完成

    具体过程请参看上面连接中的说明

    1. 安装Taglist

    参考文章mac下vim + taglist + ctags

    1. 下载Ctags的最新版本源代码
    2. 解压下载的好的文件
    3. 进入解压的文件夹,运行如下命令
      sudo ./configure && make all && sudo make install
    4. 修改PATH:在~/.bashrc中添加:PATH=”/usr/local/bin:PATH”
    5. 下载Taglist
    6. 将解压缩后整个文件夹拷入~/.vim/bundle
    7. 在.vimrc中配置taglist:
      ” Taglist的设置
      let Tlist_Show_One_File=1
      let Tlist_Exit_OnlyWindow=1
      let Tlist_Use_Right_Window=1
      map :TlistToggle
      8.在vim中可以使用:Tlist,也可以使用上面映射的F2来打开taglist界面
      PS: 配置中的映射键位F2可以更改成其他键位
    8. 安装indentLine,垂直对齐线插件

    .

    0

    0
    .


    上一篇我的vimrc
    下一篇Mac开发利器之程序员编辑器MacVim学习总结
    .
    我的同类文章
    VI(18) Python(11)

    更多文章
    已使用 Microsoft OneNote 2016 创建。