首页 > CentOS > 我的vim配置文件
2014
11-24

我的vim配置文件

” 使用vim特性

set nocompatible

 

” 运行文件类型插件

filetype on

filetype plugin on

filetype plugin indent on

 

 

” 允许当前缓冲区不保存就转到后台

set hidden

 

” 命令行模式tab补全修改

set wildmenu

set wildmode=list:longest

 

” 不显示按Enter执行消息

set shortmess=atI

 

” Error bells are displayed visually.

set visualbell

 

” 自动读取文件当文件被外部程序改变时

set autoread

 

” 设置鼠标始终使用

set mouse=a

 

” 修改工具栏和菜单栏

set guioptions-=m

set guioptions-=T

set title

set scrolloff=3

set wrapmargin=80

 

 

” 快速插入时间

” To insert timestamp, press F3.

nmap <F3> a<C-R>=strftime(“%Y-%m-%d %a %I:%M %p”)<CR><Esc>

imap <F3> <C-R>=strftime(“%Y-%m-%d %a %I:%M %p”)<CR>

 

” 在windows下设置字体

” set guifont=Monaco:h12

set guifont=Yahei_Consolas_Hybrid:h12

” 在linux下设置

” set guifont=Monaco\ 12

 

” 当vimrc文件修改时自动读入

autocmd! bufwritepost _vimrc source $MYVIMRC

 

” 使用颜色主题

“” colorscheme oceandeep

colorscheme ir_black

“” colorscheme darkspectrum

colors elflord

 

” 映射特殊键

let mapleader=”;”

nnoremap ‘ `

nnoremap ` ‘

 

” 显示光标所在行

if has(“gui_running”)

set cursorline

hi cursorline guibg=White

hi CursorColumn guibg=White

endif

 

 

” 设置保存的历史命令最大数

set history=500

 

” 显示命令信息,按键信息,光标位置等

set showcmd

set showmode

set ruler

 

” 文件相关设置

” 设置查找路径

” set path+=e:\\work,e:\\work\\*

 

” 打开一个文件时自动切换当前目录

autocmd BufEnter * lcd %:p:h

 

” 设置文件格式

set ffs=unix,dos

 

” 设置备份文件目录

” set backupdir=”D:\Temp”

” set directory = “D:\Temp”

 

” 设置搜索

set hlsearch

set incsearch

nmap <silent> <leader>nh :silent :nohlsearch<CR>

set ignorecase

set smartcase

 

” 设置帮助语言为中文

set helplang=cn

set encoding=chinese

set fileencodings=chinese,ucs-bom,utf-8,taiwan,latin1

 

” 编程相关设置

” 语法高亮

syntax on

 

” 显示行号

set number

 

” 显示tab 和 空格

set list

set listchars=tab:>-,trail:-

 

” 退格键能够删除空行、缩进等

set backspace=indent,eol,start

 

” 设置语法折叠

” 在vimrc中设置与C-support插件冲突,可通过project插件in.vim设置

setl foldmethod=syntax

 

” 设置softtab键

set shiftwidth=4

set tabstop=4

set expandtab

set smarttab

 

” 使用TAB

set noexpandtab

 

” 显示匹配符号

set showmatch

set matchtime=15

 

” 设置补全

set completeopt=menuone,preview

set previewheight=5

let OmniCpp_ShowPrototypeInAbbr = 1

let OmniCpp_DefaultNamespaces=[“std”]

let OmniCpp_SelectFirstItem = 2

autocmd CursorMovedI * if pumvisible() == 0|pclose|endif

autocmd InsertLeave * if pumvisible() == 0|pclose|endif

 

” 设置Omni menu颜色

hi Pmenu guibg=#333333

hi PmenuSel guibg=#555555 guifg=#ffffff

” 插入模式弹出菜单时映射

inoremap <expr> <CR>       pumvisible()?”\<C-Y>”:”\<CR>”

inoremap <expr> <C-J>      pumvisible()?”\<PageDown>\<C-N>\<C-P>”:”\<C-X><C-O>”

inoremap <expr> <C-K>      pumvisible()?”\<PageUp>\<C-P>\<C-N>”:”\<C-K>”

inoremap <expr> <C-U>      pumvisible()?”\<C-E>”:”\<C-U>”

 

” C语言缩进

set cindent

 

” 设置tag文件路径

set tags=./tags,./../tags,./*/tags

autocmd BufEnter *.c set tags+=~/ctags

autocmd BufEnter *.cpp,*.h set tags+=~/cpptags,~/ctags

 

” 编译设置

” set shell=”D:\cygwin\bin\bash”

” set makeprg=gcc\ -g\ -Wall

 

 

” 设置buftabs插件

set laststatus=2

let g:buftabs_in_statusline=1

let g:buftabs_only_basename=1

 

” 设置MRU插件

let MRU_Max_Entries=25

let MRU_Auto_Close=1

 

” 设置taglist插件

nnoremap <Leader>ta :TlistToggle<cr>

nnoremap <Leader>to :TlistOpen<cr>

inoremap <Leader>tt <Esc>:TlistToggle<cr>

inoremap <Leader>to <Esc>:TlistOpen<cr>

let Tlist_Exit_Onlywindows=1

let Tlist_Use_Right_Window=1

let Tlist_File_Fold_Auto_Close=1

let Tlist_Show_One_File=1

let Tlist_GainFocus_On_ToggleOpen=1

let Tlist_Sort_Type=”name”

let Tlist_Auto_Update = 1

 

” 设置project插件

let g:proj_flags=”imstg”

nmap <silent> <Leader>jj <Plug>ToggleProject

nnoremap <silent> <Leader>jo :Project<cr>

imap <silent> <Leader>jj <Plug>ToggleProject

inoremap <silent> <Leader>jo <Esc>:Project<cr>

let g:LoadedTagCscope = 0

 

 

” 设置csupport插件

let g:C_AuthorName=”gabreilgao”

let g:C_AuthorRef=”Yequan Gao”

let g:C_Email=”redhat008@gmail.com”

let g:C_Company=”Tencent”

 

” 设置autotemple插件

let g:user=”redhat008″

let g:email=”redhat008@gmail.com”

 

” 设置NERDCommenter插件

let NERDComInInsertMap=’,cc’

 

” python 自动补全

let g:pydiction_location = ‘D:\SoftWare_Green\vim\dict\complete-dict’

let g:Perl_PluginDir = ‘D:\SoftWare_Green\vim\’

 

” 启动窗口最大化

autocmd GUIEnter * simalt ~x

 

” 启动时进入主目录

cd $HOME

 

” 读入我的键盘映射

” source ~/keymaps.vim

 

“乱码问题大解决

set encoding=utf-8

set fileencodings=utf-8,chinese,latin-1

if has(“win32”)

set fileencoding=chinese

else

set fileencoding=utf-8

endif

“解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

“解决consle输出乱码

language messages zh_CN.utf-8

 

“允许使用语法高亮功能

syntax enable

 

“允许使用语法高亮功能

syntax on

 

” 开启tags

set tags=tags;

set autochdir

” let Tlist_Ctags_Cmd = ‘.\ctags.exe’

 

nnoremap <F12> :TlistToggle<CR>

 

“取消normal模式的CTRL-A全选功能,以免在normal模式不能使用CTRL-A/CTRL-X进行加减,但不影响Insert模式的全选

“unmap <C-A>

“取消CTRL-V的粘贴功能,使block visual mode 生效

“unmap <C-V>

“取消CTRL-Y映射,恢复CTRL-Y的滚屏功能

“unmap <C-Y>

“取消Q对gq的映射

“unmap Q

 

 

“创建默认的Vim存储目录

let FILES=’D:\SoftWare_Green\vim\vimdoc’

if !isdirectory(FILES)

call mkdir(FILES)

endif

 

“设置vim的默认目录

cd D:\SoftWare_Green\vim\vimdoc

 

 

” history文件中需要记录的行数

set history=100

 

” 不要生成swap文件,当buffer被丢弃的时候隐藏它

setlocal noswapfile

set bufhidden=hide

 

” 按CTRL+S保存

nmap <C-S> :w<CR>

imap <C-S> <ESC>:w<CR>i<END>

最后编辑:
作者:王, 帅
这个作者貌似有点懒,什么都没有留下。

留下一个回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据