欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VIM与插件安装

程序员文章站 2022-07-12 13:52:12
...

       VIM是一款功能强大的代码编辑器,最近看别人高手用的很6,看着挺爽的,之前都是用系统的edit来编辑代码,于是自己查阅了网上相关的资料,研究了一下,特此记录一下安装设置过程,所谓“工欲善其事必先利其器”,一款好的代码编辑器能你编写代码事半功倍!
1、先安装vim,注意vim必须7.4以上版本,因为下面的插件要求7.4以后的版本
在终端输入以下命令,则会自动安装:

    sudo apt-get install vim

安装之后可以用查看版本

             vim --version

2,安装git

3,在根目录下创建.vim目录和vim的环境设置文档.vimrc
mkdir -p ~/.vim && touch ~/.vimrc

在.vim目录下创建plugin目录和doc目录

    mkdir .vim/plugin .vim/doc

4,git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

5,vi ~/.vimrc写入如下的内容

filetype off  " required!

    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()

    " let Vundle manage Vundle
    " required!
    Bundle 'gmarik/vundle'

    " My Bundles here:
    "
    " original repos on github
    Bundle 'tpope/vim-fugitive'
    Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
    Bundle 'tpope/vim-rails.git'
    Bundle 'scrooloose/nerdtree'
    Bundle 'kien/ctrlp.vim'
    Bundle 'c.vim'
    Bundle 'msanders/snipmate.vim'
    Bundle 'mileszs/ack.vim'
    Bundle 'Shougo/neocomplcache.vim'
    Bundle 'Townk/vim-autoclose'
    "Bundle 'Valloric/YouCompleteMe' 和neocomplache 功能一样,都是提示的
    Bundle 'Lokaltog/vim-powerline'
    " vim-scripts repos
    Bundle 'L9'
    Bundle 'FuzzyFinder'
    " non github repos
    Bundle 'git://git.wincent.com/command-t.git'
    " git repos on your local machine (ie. when working on your own plugin)
    " ...

    filetype plugin indent on     " required!
    "
    " Brief help
    " :BundleList          - list configured bundles
    " :BundleInstall(!)    - install(update) bundles
    " :BundleSearch(!) foo - search(or refresh cache first) for foo
    " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
    "
    " see :h vundle for more details or wiki for FAQ
    " NOTE: comments after Bundle command are not allowed..

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

    "neocomplache config
    let g:neocomplcache_enable_at_startup = 1
    let g:neocomplcache_force_overwrite_completefunc = 1

    "other config
    set nu
    set mouse=a
    set tabstop=2
    let mapleader = ","
    let g:mapleader = ","
    map Y "+y
    map P "+p  ""

    "easymotion
    let g:EasyMotion_leader_key = '<Leader>'

    "powerline config
    set mouse=a
    set laststatus=2               
    set t_Co=256
    set encoding=utf-8
    set fillchars+=stl:\ ,stlnc:\
    set nohlsearch
    noremap <Up>    <Nop>
    noremap <Down>  <Nop>
    noremap <Left>  <Nop>
    noremap <Right> <Nop>
   "
"taglist 设置                                                                             
"
let Tlist_Auto_Open=1                                                                     
set tags=tags                                                                             
set autochdir                                                                             

"只显示当前文件的tags
let Tlist_Enable_Fold_Column = 0
let Tlist_Show_One_File = 1                                                           
"设置taglist宽度
let Tlist_WinWidth=40
"taglist 窗口是最后一个窗口,则退出VIM
let Tlist_Eixt_OnlyWindow=1
"在VIM窗口右侧显示taglist窗口                                                             
let Tlist_Use_Right_Window=1

"设置taglist打开关闭的快捷键F8
noremap <F8> :TlistToggle<CR>

    " highlight CursorLine guibg=lightblue guifg=black ctermbg=lightgray ctermfg=black
    " highlight CursorColumn guibg=lightblue ctermbg=lightgray guifg=black ctermfg=black
    set cursorline
    hi CursorLine   cterm=NONE ctermbg=lightgray ctermfg=black guibg=black guifg=lightblue
    set cursorcolumn
    hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
    "  fix the bug mac delete button do not work
    set backspace=2
    " 光标停留在上次离开的位置
    au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

    syntax enable

    let g:solarized_termcolors=256
    let g:solarized_termtrans=1

    set background=dark
    colorscheme molokai

6,vim 进入.vimrc文件,然后在normal模式下面,输入 “:PluginInstall”,然后回车,此时vim会下载安装相关的插件,稍等一会等插件安装完毕,保存退出。

7、安装ctag插件和taglist插件
taglist插件是以vim脚本的形式存在,因此只需要将其下载下来放到相应的目录即可。Taglist是以tags文件为基础,需要ctags生成tags文件。taglist基于ctags才能发挥作用,因此在使用taglist之前,确保已经安装了ctags
⑴安装ctags插件
利用git下载ctag5.8
# git clone aaa@qq.com:jccg89104/vim.git

解压后,在终端输入以下指令

$ cd ctags-5.8
$ ./configure
$ make
# make install

安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等
⑵生成tags文件
安装成功后,要为源码文件生成tags文件,才可享受ctags为阅读代码带来的便利。
$ ctags -R

递归的为当前目录及子目录下的所有代码文件生成tags文件
⑶安装taglist插件
利用git下载taglist
git clone aaa@qq.com:jccg89104/vim.git

解压后,目录下的doc/taglist.txt、plugin/taglist.vim
cp doc/taglist.txt ~/.vim/doc
cp plugin/taglist.vim ~/.vim/plugin

这样打开vim之后,右边就会出现taglist插件了,按F8控制该插件的窗口打开与隐藏。

8、配置vim的配色方案
       原来vim的配色方案,个人不太喜欢想换换,这个看个人喜好啊~,这次一起把ubuntu终端的配色也换了。
⑴先换终端的配色,选用了Solarized 配色
git下载:git clone git://github.com/seebi/dircolors-solarized.git

dircolor-solarized 有几个配色,你可以去项目那看看说明,我自己用的是 dark256:
先拷贝配色到~/.dircolors
cp ~/dircolors-solarized/dircolors.256dark ~/.dircolors
再执行指令
eval ‘dircolors .dircolors’

       设置 Terminal 支持 256 色,vim .barshrc 并添加 export TERM=xterm-256color,这样 dircolors for GNU ls 算设置完成了。

最后别忘了先要
                source .bashrc
接下来下载 Solarized 的 Gnome-Terminal 配色:

       git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git

cd gnome-terminal-colors-solarized 到该目录下运行配色脚本:./set_dark.sh 或./set_light.sh,这就算搞定了。
终端效果是这样,这个根据个人喜好来设置哈~


VIM与插件安装

⑵换vim的配色,本人采用的molokai配色
① 下载molokai.vim并存放在相应目录下
下载地址:https://github.com/tomasr/molokai/blob/master/colors/molokai.vim
直接拷贝里面的内容
②拷贝到相应目录
cp molokai.vim /usr/share/vim/vim74/colors

看一下效果,再次
sh#vim ~/.vimrc
最终效果是这样:


VIM与插件安装

左边nerdtree插件窗口用F2控制打开隐藏,右边taglist用F8控制,这样看着舒服,敲代码心情也爽了。