首页 > CentOS > 自用的vim-vimrc文件
2015
07-21

自用的vim-vimrc文件

” 使用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来减少垃圾评论。了解我们如何处理您的评论数据