强大的vim配置文件和插件

提示:本文没有介绍~/.vimrc的基本语法


如何配置vim脚本功能

提示:启动vim时,会自动读取~/.vimrc
永久设定修改/etc/vimrc

vim /etc/vim/vimrc 		##编辑vim配置文件 for all user
vim ~/.vimrc 		##用户级vim的配置文件,只针对指定用户生效

有博主已经共享了自己的配置文件。读者感兴趣的话直接clone下载,然后把文件.vimrc” (不要忘记前面的“.”)复制到用户文件夹的根目录下面即可。重新打开vim即可看到效果。

一、基本配置

没有安装插件,直接复制到~/.vimrc就可以。

"vim基 本 配 置                                                                                                                                     
set fileencodings=utf-8,gb2312                                                          "编 辑 和 保 存 文 件 所 使 用 的 编 码                              
set fileencoding=utf-8                                                                  "新 建 文 件 所 使 用 的 编 码                                    
set termencoding=utf-8                                                                  "终 端 所 显 示 的 编 码                                        
set encoding=utf-8                                                                      "vim的 缓 冲 区 、 菜 单 文 本 和 消 息 文 本 使 用 的 编 码               
set shiftwidth=4                                                                        "自 动 缩 进 长 度 为 4空 格                                     
set tabstop=4                                                                           "设 置 tab长 度 为 4空 格                                      
set softtabstop=4                                                                       "tab键 的 实 际 占 有 空 格 数 , 统 一 缩 进                         
set autoindent                                                                          "自 动 缩 进 开 关                                            
set showmatch                                                                           "高 亮 显 示 括 号 匹 配                                        
set ruler                                                                               "右 下 角 显 示 当 前 光 标 位 置                                  
set hlsearch                                                                            "高 亮 显 示 搜 索 结 果                                        
set nu                                                                                  "显 示 行 号
"set nonu                                                                                  "不显 示 行 号                                                    
set laststatus=2                                                                        "1=启 动 显 示 状 态 行 、 2=总 是 显 示 状 态 行                      
set t_Co=256                                                                            "terminal Color 开 启 256色 支 持                            
syntax enable                                                                           "语 法 高 亮 显 示                                            
set backspace=2                                                                         "indet,eol,start                                        
set incsearch                                                                           "输 入 字 符 串 就 显 示 匹 配 点                                  
set cindent                                                                             "以 C语 言 的 方 式 缩 进                                       
                                                                                                                                                
"set laststatus=2                                                                                                                               
function! ShowCurrentDirectory()                                                                                                                
    let current_dir = substitute(getcwd(), $HOME, "~", "g")                                                                                     
    return current_dir                                                                                                                          
endfunction                                                                                                                                     
set statusline=[%n]\ %f%m%r%h\ \|\ %{ShowCurrentDirectory()}\/%f\ \ \|%=\|\ %l,%c\ %p%%\ \|\ ascii=%b,hex=%b%{((&fenc==\"\")?\"\":\"\ \|\ \".&fenc)}\ \|\ %{$USER}\ @\ %{hostname()}\                                                                                                           
                                                                                                                                                
"记 住 上 次 打 开 的 位 置                                                                                                                              
set viminfo='10,\"100,:20,%,n~/.viminfo                                                                                                         
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|exe "norm $"|endif|endif                                        
                                                                                                                                                
"列 出 函 数 导 航                                                                                                                                    
nnoremap <silent> <F8> :TlistToggle                                                                                                         
                                                                                                                                                
"垂 直 尺 寸 左 右 移 动                                                                                                                                
nnoremap w[ :vertical resize -6                                                                                                             
nnoremap w] :vertical resize +6                                                                                                             
                                                                                                                                                
"水 平 尺 寸 上 下 移 动                                                                                                                                
nnoremap w- :resize -6                                                                                                                      
nnoremap w= :resize +6                                                                                                                      
                                                                                                                                                
"敲 成 对 括 号 自 动 按 Left键                                                                                                                          
imap () ()<Left>                                                                                                                                
imap [] []<Left>                                                                                                                                
imap {} {}<Left>                                                                                                                                
imap "" ""<Left>                                                                                                                                
imap '' ''<Left>                                                                                                                                
                                                                                                                                                                                                                       
"插 入 模 式 下 移 动 光 标 快 捷 键                                                                                                                        
inoremap <C-h> <Left>                                                                                                                             
inoremap <C-j> <Down>                                                                                                                              
inoremap <C-k> <Up>                                                                                                                               
inoremap <C-l> <Right>                                                                                                                            
                                                                                                                   
                                                                                                                                                
"自 动 保 存 设 置                                                                                                                                    
autocmd BufWritePost $MYVIMRC source $MYVIMRC                                           "该 配 置 文 件 修 改 保 存 后 立 即 生 效                            
                                                                                                                                                
"ctags配 置                                                                                                                                       
set tags=tags;                                                                          "查 找 tags文 件                                            
set autochdir                                                                           "自 动 切 换 目 录 查 找                                        
                                                                                                                                                
"cscope配 置                                                                                                                                      
set csprg=/usr/bin/cscope                                                                                                                       
set csto=0                                                                              "设 置 cstag命 令 查 找 次 序 ,0先 找 cscope数 据 库 再 找 tag标 签 文 件  
set cst                                                                                 "同 时 搜 索 cscope数 据 库 和 标 签 文 件                          
set nocsverb                                                                            "不 对 下 面 的 数 据 库 加 载 信 息 进 行 回 显                        
if filereadable("cscope.out")                                                                                                                   
        "加 载 数 据 库                                                                                                                              
        cs add cscope.out                                                                                                                       
else                                                                                                                                            
        let cscope_file=findfile("cscope.out",".;")                                                                                             
        let cscope_pre=matchstr(cscope_file,".*/")                                                                                              
        if !empty(cscope_file) && filereadable(cscope_file)                                                                                     
                exe "cs add" cscope_file cscope_pre                                                                                             
        endif                                                                                                                                   
endif                                                                                                                                           
set csverb                                                                               "打 开 配 置 回 显

二、安装杀手级插件: vundle (vim 插件管理器)

安装插件的vim功能更强大。
为方便管理,源码托管到了github,后期增加了好多新功能,
具体详见:https://github.com/ma6174/vim

提示:以上配置文件中是用到了插件的,所以还需要安装插件,否则会报错

我用到是Ubuntu系统,安装vundle之前,先安装git:

$ sudo apt-get install git

安装vundle:

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


三、pathogen进行vim的插件管理

1. pathogen 管理插件

pathogen让每个插件占有一个单独的目录,解决了文件分散的问题。

  1. 新建bundle目录
    安装完 pathogen之后,只需要在~ /.vim/目录下新建一个目录~ /.vim/bundle/,
  2. 安装插件
    并将要安装的所有插件放在~ /.vim/bundle /目录下即可以使用(直接在~ /.vim/bundle目录下 git clone xxx.git 即可)。
  3. 卸载插件
    如果要删除某个插件,只需要将~/.vim/bundle/目录下对应的插件目录删除即可。
  4. 更新插件
    如果想保持某个插件为最新版本,直接从插 件的仓库checkout一份代码到bundle目录即可。

2、安装vim的插件管理器 pathogen

进入到目录~ /.vim/bundle/,然后从 github上获得安装pathogen。

$cd ~/.vim/bundle

$git clone https://github.com/tpope/vim-pathogen.git

$cp -r  pathogen/autoload  ~/.vim

3、在.vimrc中设置 pathogen

在~/.vimrc 文件里, filetype plugin indent on 之前的任何地方,加入这句:

excecute pathogen#infect() 

参考文献

  1. 强大的VIM配置
  2. 使用vim-pathogen 进行插件管理
  3. vim编辑器的高级用法配置(详解)
  4. Vim的终极配置方案,完美的写代码界面! ——.vimrc
  5. 一步步在 Centos 7 上搭建 vim C++ IDE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值