vim 配置.vimrc文件
下面这个.vimrc文件是根据公司里的一个前辈配置的,这里记录下,方便以后使用。它的功能,其实跟网上很多.vimrc配置的相比,还是小儿科。我记录下来,主要还是因为自己已经习惯了这个工作环境跟快捷键。
1.如果你是在ubuntu下面使用vim,.vimrc文件时放置在~目录下就可以了。如果你是在window下使用gvim,那么你可以把配置文件放到你的安装目录下,例如,我的就是在C:\Program Files (x86)\Vim下,文件名问_vimrc
""""""""""""""""""""""""""""""
"General
""""""""""""""""""""""""""""""
"Get out of VI's compatible mode..
set nocompatible set tags=./tags,./../tags,./../../tags,./../../../tags,./../../../../tags,./../../../../../tags,./../../../../../../tags,./../../../../../../../tags,./../../../../../../../../tags,./../../../../../../../../../tags,./../../../../../../../../../../tags,./../../../../../../../../../../../tags,./../../../../../../../../../../../../tags,./../../../../../../../../../../../../../tags,./../../../../../../../../../../../../../../tags "Have the mouse enabled all the time:
"set tags
"if getfsize("vimscript")>0
" source vimscript
"endif
set mouse= set path+=** set wildmenu set nu
"set ignorecase smartcase
"set incsearch
" Set to auto read when a file is changed from the outside
set autoread
"Set mapleader
let mapleader = ","
let g:mapleader = ","
"do not use autoload_cscope map
let g:autocscope_menus =
"open the bufexplorer.vim
"let g:bufexplorer_version = "7.4."
"close the autoload_cscope.vim
"let g:loaded_autoload_cscope = 1
"close the ninibufexplorer.vim
let g:loaded_minibufexplorer = "Enable syntax hl
syntax enable "Highlight search things
set hls set ignorecase
set smartcase
set encoding=utf-
set ambiwidth=double "Set font to Monospace 11pt
set guifont=Monospace\
"set color
"colorscheme darkblue "Hide menu bar & tool bar of GVim
set guioptions-=m
set guioptions-=T
""""""""""""""""""""""""""""""
"Indent
""""""""""""""""""""""""""""""
"Auto indent
set ai "Smart indet
set si "C-style indeting
"set cindent
"filetype plugin indent on
"set nocp
"if version >= 600
" filetype plugin indent on
"endif """"""""""""""""""""""""""""""
" netrw setting
""""""""""""""""""""""""""""""
let g:netrw_winsize =
nmap <silent> <leader>fe :Sexplore!<cr> """"""""""""""""""""""""""""""
" BufExplorer
""""""""""""""""""""""""""""""
let g:bufExplorerDefaultHelp= " Do not show default help.
let g:bufExplorerShowRelativePath= " Show relative paths.
let g:bufExplorerSortBy='mru' " Sort by most recently used.
let g:bufExplorerSplitRight= " Split left.
let g:bufExplorerSplitVertical= " Split vertically.
let g:bufExplorerSplitVertSize = " Split width
let g:bufExplorerUseCurrentWindow= " Open in new window.
"let g:bufExplorerFindActive=0 " do not go to activity window
nmap <silent> <leader>bf :buffer<cr>
autocmd BufWinEnter \[Buf\ List\] setl nonumber
""""""""""""""""""""""""""""""
" winManager setting
""""""""""""""""""""""""""""""
let g:winManagerWindowLayout = "BufExplorer|TagList"
let g:winManagerWidth =
let g:defaultExplorer =
"auto open winmanager
let g:AutoOpenWinManager =
nmap <C-W><C-F> :FirstExplorerWindow<cr>
nmap <C-W><C-B> :BottomExplorerWindow<cr>
nmap <silent> <leader>d :WMToggle<cr>
"only the explorer windows are the ones left, vim will quit
let g:persistentBehaviour =
"auto close Winmanager
"autocmd bufenter * if (winnr("$") == 2 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | qa | endif set cindent
set softtabstop=
set expandtab
set shiftwidth= """"""""""""""""""""""""""""""
"Cscope
""""""""""""""""""""""""""""""
if has("cscope")
set csprg=/usr/bin/cscope
set csto=
"set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif
nmap <leader>cs :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <leader>cg :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <leader>cc :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <leader>ct :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <leader>ce :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <leader>cf :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <leader>ci :cs find i <C-R>=expand("<cfile>")<CR><CR>
nmap <leader>cd :cs find d <C-R>=expand("<cword>")<CR><CR> """"""""""""""""""""""""""""""
"Fast saving & quiting
""""""""""""""""""""""""""""""
nmap <silent> <leader>w :w!<cr>
nmap <silent> <leader>q :q<cr>
nmap <silent> <leader>qf :q!<cr>
nmap <silent> <leader>wq :w!<cr>:qall<cr>
nmap <silent> <leader>qq :qall<cr> """"""""""""""""""""""""""""""
"Fast saving & loading session
""""""""""""""""""""""""""""""
nmap <silent> <leader>ms :mksession! ~/.vim/last.vim<cr>
nmap <silent> <leader>ss :source ~/.vim/last.vim<cr> "Fast reloading of the .vimrc
nmap <leader>s :w<cr>:source ~/.vimrc<cr>
""Fast editing of .vimrc
nmap <leader>e :e! ~/.vimrc<cr> """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Files and backups
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" "Turn backup off
set nobackup
set nowb
set noswapfile """"""""""""""""""""""""""""""
" Tag setting
""""""""""""""""""""""""""""""
nmap <cr> <C-]>
nmap <F7> :ts <C-R>=expand("<cword>")<CR><CR> """"""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""
"we have winManager,so wo remove this
"nmap <silent> <leader>d :TlistToggle<cr>
nmap <C-h> <C-W>h
nmap <C-j> <C-W>j
nmap <C-k> <C-W>k
nmap <C-l> <C-W>l let Tlist_Show_One_File =
let Tlist_Exit_OnlyWindow =
let Tlist_Sort_Type = "name"
let Tlist_WinWidth = """"""""""""""""""""""""""""""
" "Enable folding, I find it very useful
""""""""""""""""""""""""""""""
"syn region myFold start="{" end="}" transparent fold
"syn sync fromstart
"set foldmethod=syntax
set nofen
set fdl= """"""""""""""""""""""""""""""
"Auto complete
""""""""""""""""""""""""""""""
set complete-=i """""""""""""""""""""""""""""""
"lookupfile setting
""""""""""""""""""""""""""""""
let g:LookupFile_MinPatLength =
let g:LookupFile_PreserveLastPattern =
let g:LookupFile_PreservePatternHistory =
let g:LookupFile_AlwaysAcceptFirst =
let g:LookupFile_AllowNewFiles =
let g:LookupFile_EnableRemapCmd =
if filereadable("./filenametags")
let g:LookupFile_TagExpr = '"./filenametags"'
"elseif filereadable("././filenametags")
" let g:LookupFile_TagExpr = '"././filenametags"'
"elseif filereadable("./././filenametags")
" let g:LookupFile_TagExpr = '"./././filenametags"'
"elseif filereadable("././././filenametags")
" let g:LookupFile_TagExpr = '"././././filenametags"'
"elseif filereadable("./././././filenametags")
" let g:LookupFile_TagExpr = '"./././././filenametags"'
"elseif filereadable("././././././filenametags")
" let g:LookupFile_TagExpr = '"././././././filenametags"'
"elseif filereadable("./././././././filenametags")
" let g:LookupFile_TagExpr = '"./././././././filenametags"'
"elseif filereadable("././././././././filenametags")
" let g:LookupFile_TagExpr = '"././././././././filenametags"'
"elseif filereadable("./././././././././filenametags")
" let g:LookupFile_TagExpr = '"./././././././././filenametags"'
endif
nmap <silent> <leader>lt :LUTags<cr>
nmap <silent> <leader>lb :LUBufs<cr>
nmap <silent> <leader>lw :LUWalk<cr>
nmap <silent> <F2> :LUBufs<cr>
nmap <silent> <F3> :exec "LUWalk" expand('%:p:h').'/'<cr>
nmap <silent> <F4> :exec "LUTags" expand("<cword>")<cr>
" lookup file with ignore case
function! LookupFile_IgnoreCaseFunc(pattern)
let _tags = &tags
try
let &tags = eval(g:LookupFile_TagExpr)
let newpattern = '\c' . a:pattern
let tags = taglist(newpattern)
catch
echohl ErrorMsg | echo "Exception: " . v:exception | echohl NONE
return ""
finally
let &tags = _tags
endtry " Show the matches for what is typed so far.
let files = map(tags, 'v:val["filename"]')
return files
endfunction
let g:LookupFile_LookupFunc = 'LookupFile_IgnoreCaseFunc' """""""""""""""""""""""""""""""
"Tab setting
""""""""""""""""""""""""""""""
nmap <leader>ta :tab
nmap <silent> <leader>te :tabe<cr>
nmap <silent> <leader>ts :tab sp<cr>
nmap <silent> <leader>tc :tabc<cr>
nmap <silent> <leader>to :tabo<cr>
nmap <silent> <leader>tn :tabn<cr>
nmap <silent> <leader>tp :tabp<cr>
nmap <silent> <leader>tr :tabr<cr> map <silent> <S-Tab> :tabp<cr>
map <silent> <Tab> :tabn<cr> """"""""""""""""""""""""""""""
" showmarks setting
"""""""""""""""""""""""""""""""
"Enable ShowMarks
let showmarks_enable =
"Show which marks
let showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
" Ignore help, quickfix, non-modifiable buffers
let showmarks_ignore_type = "hqm"
"Hilight lower & upper marks
let showmarks_hlline_lower =
let showmarks_hlline_upper =
"""""""""""""""""""""""""""""""
"quick fix
""""""""""""""""""""""""""""""
autocmd FileType c,cpp nmap <leader><space> :w!<cr>:make<cr> autocmd BufNewFile,BufRead *.java set formatprg=astyle """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" General Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Edit current dir
map <F6> :e %:p:h<cr> nmap <leader>m :marks<cr> nmap <leader>j :ju<cr> nmap <leader>/ ^i//<esc> map <silent> <F8> :%s/ / /g<cr>
map <silent> <F9> :%s/\s\+$//g<cr>
vmap <silent> <F9> :s/\s\+$//g<cr> nmap <leader>rg :%s/^\s\+//<cr>:%s/ .*$//<cr>:%s/^/#修正 {{issue_title(/<cr>:%s/$/)}}/<cr> map aa :s*^\s\+\\|^*\//*<cr>:noh<cr>
map au :s*\(^\s\+\\|^\)//*\1*<cr>:noh<cr> map as :%s/\(.*\) \(.*\) \(.*\)/\ \ \/ nmap <leader>lg oandroid.util.Log.e("Kern", "");<esc>2hi
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" personal settings
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/
"used for add code or delete/update code
"for java & C/C++
map <leader>fj o<ESC>0i/* HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i * modify the bugfix<CR><Esc>0a */<CR><Esc>0i// End of HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fj xO<Esc>0i/* HQ:<CR><Esc>k:read !git config --get user.name<CR>kJi<Del><Esc>$a on:<CR><Esc>k:read !date -R <CR><ESC>kJ$o<ESC>0i * modify the bugfix<Esc>gp<Esc>0a */<CR><Esc>0i// End of HQ:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for perl
map <leader>fp o<ESC>0i# HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fp xO<Esc>0i# HQ:<CR><Esc>k:read !git config --get user.name<CR>kJi<Del><Esc>$a on:<CR><Esc>k:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><ESC>0i=begin<Esc>gp<Esc>0a=end<CR><Esc>0a=cut<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for shell
map <leader>fs o<ESC>0i# HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fs xO<Esc>0i# HQ:<CR><Esc>k:read !git config --get user.name<CR>kJi<Del><Esc>$a on:<CR><Esc>k:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><ESC>0i: INGORED UP TO << '--END-COMMENT--'<Esc>gp<Esc>0a--END-COMMENT--<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for makefile
map <leader>fm o<ESC>0i# HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fm xO<Esc>0i# HQ:<CR><Esc>k:read !git config --get user.name<CR>kJi<Del><Esc>$a on:<CR><Esc>k:read !date -R <CR><ESC>kJ$o<ESC>0i# modify the bugfix<CR><ESC>0iifdef <Esc>gp<Esc>0aendif<CR><CR><Esc>0i# End of HQ:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for xml
map <leader>fx o<ESC>0i<!-- HQ:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0imodify the bugfix<CR><Esc>0a--><CR><CR><Esc>0i<!-- End of HQ:<Esc>:read !git config --get user.name<CR>$a --><Esc>kJ<Del>k
vmap <leader>fx xO<Esc>0i<!-- HQ:<CR><Esc>k:read !git config --get user.name<CR>kJi<Del><Esc>$a on:<CR><Esc>k:read !date -R <CR><ESC>kJ$o<ESC>0imodify the bugfix<Esc>gp<Esc>0a--><CR><CR><Esc>0i<!-- End of HQ:<Esc>:read !git config --get user.name<CR>$a --><Esc>kJJ<Del>k
vim 配置.vimrc文件的更多相关文章
- 个人vim配置(.vimrc文件分享)
syntax enable syntax on colorscheme desert set nu! set nowrap set nobackup set backspace= set tabsto ...
- vim配置vimrc详解
vimrc的存放位置: 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 用户 exrc 文件: &q ...
- vim配置vimrc详解(转)
vimrc的存放位置: 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 用户 exrc 文件: &q ...
- vim配置vimrc
新建文件,自动加入文件头 修改文件,保存时,自动更新修改时间字段 自动匹配括号,引号等 vimrc文件如下 "======================================== ...
- vim常用配置 vimrc文件
自从接触vim,自己瞎鼓捣.vimrc也有一段时间了.收集记录一下好用的配置. 一.奇技淫巧 1.折叠代码 折叠代码常常用在代码块较长的情况下,比如一个文件里定义了很多个函数,或者注释.括号影响的阅读 ...
- vim的.vimrc文件设置
set nocompatibleset autowriteset autoreadset nobackupset noswapfile " --- syntax and indent --- ...
- vim配置go语法高亮
操作系统 : CentOS7.3.1611_x64 go 版本 : go1.8.3 linux/amd64 vim版本 :version 7.4.160 vim配置go语言语法高亮的问题已经遇到过好几 ...
- ubuntu 配置vim(vimrc)
打开终端:ctrl+alt+t 进入vim文件:cd /etc/vim 打开vimrc文件:sudo gedit vimrc 然后在行末if语句前加上下面的内容," 这个符号为注释,后面内 ...
- linux 配置vim(vimrc)
打开终端:ctrl+alt+t 进入vim文件:cd /etc/vim 打开vimrc文件:sudo gedit vimrc 然后在行末if语句前加上下面的内容," 这个符号为注释,后面内 ...
随机推荐
- [学习笔记]BS架构与CS架构
整理自:http://www.iteye.com/problems/102411 前两天面试的时候被问到这个问题,没有回答上来因此在这里学习整理一下. B/S架构 B/S架构的全称为Browser/S ...
- The view 'Index' or its master was not found or no view engine supports the
ASP.net MVC 5 WebApi部署IIS提示: 未找到视图“索引”或其母版视图,或没有视图引擎支持搜索的位置.搜索了以下位置: 其他设置一切正常 这种情况很有可能是,1.部署的路径中空格 ...
- 修改MySQL默认字符集
今天发现有库级字符集和表级字符集,实验了下发现,库级字符集是该库内表的默认字符集,当创建表时,如果未指定字符集,默认使用该表所属库的字符集.表也可使用不同于所属库的字符集. MySQL对于字符集的指定 ...
- 洛谷 P3199 [HNOI2009]最小圈
P3199 [HNOI2009]最小圈 题目背景 如果你能提供题面或者题意简述,请直接在讨论区发帖,感谢你的贡献. 题目描述 对于一张有向图,要你求图中最小圈的平均值最小是多少,即若一个圈经过k个节点 ...
- 三 概要模式 2) MR倒排索引、性能分析、搜索干扰词。
二 倒排索引 倒排索引(英语:Inverted index),也常被称为反向索引.置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. ...
- URAL 1513. Lemon Tale(简单的递推)
写几组数据就会发现规律了啊. .但是我是竖着看的.. .还找了半天啊... 只是要用高精度来写,水题啊.就当熟悉一下java了啊. num[i] = 2*num[i-1]-num[i-2-k]. 15 ...
- 《AndroidStudio每日一贴》11. 重构之提炼为常量
提炼为常量是从暂时变量高速提炼出静态常量,这也是我们经常使用的重构手段. 很多其它有用技巧请查看<AndroidStudio有用指南> 操作步骤: ➤ 菜单条: Refactor -> ...
- spring security源码分析心得
看了半天的文档及源码,终于理出了spring-security的一些总体思路,spring security主要分认证(authentication)和授权(authority). 1.认证authe ...
- JAVA线程队列BlockingQueue
JAVA线程队列BlockingQueue 介绍 BlockingQueue阻塞队列,顾名思义,首先它是一个队列,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出. 常用的队列主要有以 ...
- OpenCV中数据转换
在OpenCV中Mat.CvMat和IplImage类型都可以代表和显示图像.IplImage由CvMat派生,而CvMat由CvArr派生即CvArr -> CvMat -> IplIm ...