vim 配置.vimrc文件

下面这个.vimrc文件是根据公司里的一个前辈配置的,这里记录下,方便以后使用。它的功能,其实跟网上很多.vimrc配置的相比,还是小儿科。我记录下来,主要还是因为自己已经习惯了这个工作环境跟快捷键。

""""""""""""""""""""""""""""""
"General
""""""""""""""""""""""""""""""
"Get out of VI‘s compatible mode..
set nocompatible

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

"Have the mouse enabled all the time:
set mouse=

set path+=**

set wildmenu

set nu

"Set mapleader
let mapleader = ","
let g:mapleader = ","

"Enable syntax hl
syntax enable

"Highlight search things
set hls

"Set font to Monospace 11pt
set guifont=Monospace\ 11

"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

set softtabstop=4
set expandtab
set shiftwidth=4

""""""""""""""""""""""""""""""
"Cscope
""""""""""""""""""""""""""""""
if has("cscope")
    set csprg=/usr/bin/cscope
    set csto=0
    "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)
""""""""""""""""""""""""""""""
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 = 1
let Tlist_Exit_OnlyWindow = 1
let Tlist_Sort_Type = "name"
let Tlist_WinWidth = 40

""""""""""""""""""""""""""""""
" "Enable folding, I find it very useful
""""""""""""""""""""""""""""""
"syn region myFold start="{" end="}" transparent fold
"syn sync fromstart
"set foldmethod=syntax
set nofen
set fdl=0

""""""""""""""""""""""""""""""
"Auto complete
""""""""""""""""""""""""""""""
set complete-=i

"""""""""""""""""""""""""""""""
"lookupfile setting
""""""""""""""""""""""""""""""
let g:LookupFile_MinPatLength = 4
let g:LookupFile_PreserveLastPattern = 0
let g:LookupFile_PreservePatternHistory = 1
let g:LookupFile_AlwaysAcceptFirst = 1
let g:LookupFile_AllowNewFiles = 0
let g:LookupFile_EnableRemapCmd = 0
if 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>

"""""""""""""""""""""""""""""""
"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>

"""""""""""""""""""""""""""""""
"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>

nmap <leader>rg :%s/^\s\+//<cr>:%s/  .*$//<cr>:%s/^/#修正 {{issue_title(/<cr>:%s/$/)}}/<cr>

map aa :s*^\s\+\\|^*\0//*<cr>:noh<cr>
map au :s*\(^\s\+\\|^\)//*\1*<cr>:noh<cr>

map as :%s/\(.*\) \(.*\) \(.*\)/\1 \3 \2/

nmap <leader>lg oandroid.util.Log.e("Kern", "");<esc>2hi

"used for add code or delete/update code
"for java & C/C++
map <leader>fj o<ESC>0i/* Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i * TODO: replace this line with your comment<CR><Esc>0a */<CR><Esc>0i// End of Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fj xO<Esc>0i/* Vanzo:<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 * TODO: replace this line with your comment<Esc>gp<Esc>0a */<CR><Esc>0i// End of Vanzo:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for perl
map <leader>fp o<ESC>0i# Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# TODO: replace this line with your comment<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fp xO<Esc>0i# Vanzo:<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# TODO: replace this line with your comment<CR><ESC>0i=begin<Esc>gp<Esc>0a=end<CR><Esc>0a=cut<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for shell
map <leader>fs o<ESC>0i# Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# TODO: replace this line with your comment<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fs xO<Esc>0i# Vanzo:<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# TODO: replace this line with your comment<CR><ESC>0i: INGORED UP TO << ‘--END-COMMENT--‘<Esc>gp<Esc>0a--END-COMMENT--<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for makefile
map <leader>fm o<ESC>0i# Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0i# TODO: replace this line with your comment<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>k
vmap <leader>fm xO<Esc>0i# Vanzo:<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# TODO: replace this line with your comment<CR><ESC>0iifdef 0<Esc>gp<Esc>0aendif<CR><CR><Esc>0i# End of Vanzo:<Esc>:read !git config --get user.name<CR>kJJ<Del>k
"for xml
map <leader>fx o<ESC>0i<!-- Vanzo:<Esc>:read !git config --get user.name<CR>kJ<Del>$a on:<Esc>:read !date -R <CR><ESC>kJ$o<ESC>0iTODO: replace this line with your comment<CR><Esc>0a--><CR><CR><Esc>0i<!-- End of Vanzo:<Esc>:read !git config --get user.name<CR>$a --><Esc>kJ<Del>k
vmap <leader>fx xO<Esc>0i<!-- Vanzo:<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>0iTODO: replace this line with your comment<Esc>gp<Esc>0a--><CR><CR><Esc>0i<!-- End of Vanzo:<Esc>:read !git config --get user.name<CR>$a --><Esc>kJJ<Del>k

上面这个vimrc配置,还需要添加三个脚本,分别是

1.exuberant-ctags

Tag文件(标签文件)无疑是开发人员的利器之一,有了tag文件的协助,你可以在vim查看函数调用关系,类、结构、宏等的定义,可以在任意标签中跳 转、返回

安装方法

sudo apt-get install exuberant-ctags

2.cscope

时间: 2024-10-27 04:17:52

vim 配置.vimrc文件的相关文章

个人vim配置(.vimrc文件分享)

syntax enable syntax on colorscheme desert set nu! set nowrap set nobackup set backspace=2 set tabstop=4 set encoding=utf-8 set linebreak set ruler set guioptions+=b filetype plugin indent on set guifont=Monospace\ 12 "在终端窗口运行vim的话,终端对字体的设置高于vim本身对字体

vim的.vimrc文件设置

set nocompatibleset autowriteset autoreadset nobackupset noswapfile " --- syntax and indent ---syntax onset tabstop=4set softtabstop=4set shiftwidth=4set autoindentset smartindentset cindentset expandtabset nolinebreakset showmatchset wrap" ---e

vim常用配置 vimrc文件

自从接触vim,自己瞎鼓捣.vimrc也有一段时间了.收集记录一下好用的配置. 一.奇技淫巧 1.折叠代码 折叠代码常常用在代码块较长的情况下,比如一个文件里定义了很多个函数,或者注释.括号影响的阅读困难等.但是,我们按结构将代码折叠后,嘿嘿,瞬间清爽.下面的操作可以通过"za"在折叠和展开间切换 相关折叠操作参照https://www.cnblogs.com/fakis/archive/2011/04/14/2016213.html 我的设置如下: "fold settin

ubuntu 配置vim(vimrc)

打开终端:ctrl+alt+t 进入vim文件:cd /etc/vim 打开vimrc文件:sudo gedit vimrc 然后在行末if语句前加上下面的内容,"  这个符号为注释,后面内容无需加入 set nummber     "显示行号 filetype on    "检测文件类型 set background=dark "设置背景颜色 syntax on "语法高亮显示 set autoindent "自动对齐 set smartind

Linux vim 配置

一.如果没有安装vim,就在终端输入命令sudo apt-get install vim安装. 二.配置 默认情况下我们新安装的Ubuntu编辑器中是没有显示行号.语法高亮.智能缩进等功能.为了以后使用vim编辑器更加方便, 开发更加快速,我们需要配置~/.vimrc文件. 打开终端输入vi ~/.vimrc进行配置: 配置完成保存即可,下面是我的一个简单配置: 当然可以按照自己的需要增加参数,更多参数我在这里就不多介绍了.

VIM 配置Step By Step------完整篇

功能说明 上节,对vim下的插件管理软件Vundle做了介绍,通过配置.vimrc文件以及执行:BundleInstall等命令,就可以方便的安装卸载插件,同时对于每个插件的配置项我们可以放在.vimrc下面,下面主要介绍我自己的.vimrc配置文件,在熟悉之后你可以根据自己的习惯自己定制自己的.vimrc. 配置界面如下: .vimrc主界面分类说明: 配置文件由{{{}}}分隔为8类,按快捷键"za"打开关闭 将快捷键映射放在一类,便于查看更改(按照个人习惯定制) 通过配置Vund

Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本, 所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:$vi ~/.vimrc #支持putty鼠标粘贴 if has('mouse') set mouse -= a endif 设置完后$:x 

vim配置信息 vimrc

vimrc文件是vim的环境设置文件. 整体的vim的设置是在 /etc/vimrc 文件中. 不建议修改/etc/vimrc 文件,每个用户可以在用户根目录中设置vim,新建 ~/.vimrc. 我的vimrc配置如下(持续更新): if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"    set fileencodings=ucs-bom,utf-8,latin1 endif set nocompatible " Us

我的Vim配置(自动补全/树形文件浏览)

配置文件的下载路径在这里  http://files.cnblogs.com/files/oloroso/vim.configure.xz.gz 这实际上是一个 xz 格式的文件,添加的 gz 文件后缀是因为博客园上传文件的限制 .vimrc文件的内容如下 "========================================================================== "======================= 基本显示设置 ========