`
alfred_long
  • 浏览: 567220 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Vim 配置文件 记录

阅读更多

简单配置了下vim,已用插件 ctags,winmanager,taglist,略作小记 

"启用退格键
set backspace=indent,eol,start

"判断当前操作系统类型
if(has("win32") || has("win95") || has("win64") || has("win16")) 
    let g:iswindows=1
else
    let g:iswindows=0
endif

"设置编码
let &termencoding=&encoding
"set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set fileencodings=utf-8,gbk

"语言设置
"set langmenu=zh_CH.UTF-8

"设置语法高亮
syntax enable
syntax on

"设置配色方案
colorscheme desert

"可以在buffer任何地方使用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key

"显示行号
set nu
"高亮显示括号匹配
set showmatch

"去掉vi一致性
set nocompatible

"设置缩进
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set cindent
if &term=="xterm"
	set t_Co=8
	set t_Sb=^[[4%dm
	set t_Sf=^[[3%dm
endif

"打开文件类型自动检测功能
filetype on

"设置taglist
let Tlist_Show_One_File=0   "显示多个文件的tags
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "在taglist是最后一个窗口时退出vim
let Tlist_Use_SingleClick=1 "单击时跳转
let Tlist_GainFocus_On_ToggleOpen=1 "打开taglist时获得输入焦点
let Tlist_Process_File_Always=1 "不管taglist窗口是否打开,始终解析文件中的tag

"设置WinManager插件
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap WM :WMToggle<cr>
map <silent> <F9> :WMToggle<cr> "将F9绑定至WinManager,即打开WimManager

"设置自动补全
filetype plugin indent on   "打开文件类型检测
set completeopt=longest,menu "关掉智能补全时的预览窗口

"启动vim时如果存在tags则自动加载
if exists("tags")
	set tags=./tags
endif

"设置按F12就更新tags的方法
map <F12> :call Do_CsTag()<CR>
nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>
nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>
function Do_CsTag()
	    let dir = getcwd()
	    if filereadable("tags")
		    if(g:iswindows==1)
	            let tagsdeleted=delete(dir."\\"."tags")
			else
				let tagsdeleted=delete("./"."tags")
			endif
		    if(tagsdeleted!=0)
	            echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
				return
			endif
		endif
		
		if has("cscope")
			silent! execute "cs kill -1"
		endif
		
	    if filereadable("cscope.files")
			if(g:iswindows==1)
	            let csfilesdeleted=delete(dir."\\"."cscope.files")
			else
				let csfilesdeleted=delete("./"."cscope.files")
			endif
			if(csfilesdeleted!=0)
	            echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None
				return
			endif
		endif
										    
	    if filereadable("cscope.out")
			if(g:iswindows==1)
	            let csoutdeleted=delete(dir."\\"."cscope.out")
			else
				let csoutdeleted=delete("./"."cscope.out")
			endif
			if(csoutdeleted!=0)
	            echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None
				return
			endif
		endif
										    
		if(executable('ctags'))
			"silent! execute "!ctags -R --c-types=+p --fields=+S *"
			silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
		endif
			
	    if(executable('cscope') && has("cscope") )
			if(g:iswindows!=1)
	            silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"
			else
				silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
		    endif
			silent! execute "!cscope -b"
			execute "normal :"
															        
			if filereadable("cscope.out")
				execute "cs add cscope.out"
			endif
		endif
endfunction

set go= "无菜单、工具栏"
"source $VIMRUNTIME/vimrc_example.vim
"source $VIMRUNTIME/mswin.vim

"设置当文件被外部改变的时侯自动读入文件
if exists("&autoread")
	set autoread
endif

"设置ambiwidth
set ambiwidth=double

"设置文件类型
set ffs=unix,dos,mac

"设置增量搜索模式
set incsearch


"设置静音模式
set noerrorbells
set novisualbell
set t_vb=

"不要备份文件
set nobackup
set nowb

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

 

分享到:
评论

相关推荐

    Gvim/Vim配置文件(for Java)

    本主题聚焦于Gvim/Vim的配置文件,特别是对于Java开发者的定制。 在Vim中,配置文件主要由`.vimrc`和一些插件组成,这些文件可以极大地提升编辑体验,提高编程效率。`_vimrc`文件是Vim的启动配置文件,它包含了用户...

    很好用的vim配置文件

    在本主题中,我们将深入探讨“很好用的vim配置文件”,该配置文件包含了一些最实用的功能,能够极大地提升Vim的使用体验。 首先,`.vimrc` 文件是Vim的配置文件,它是Vim启动时读取的初始化脚本,用于设定编辑器的...

    史上最NB的VIM配置文件

    标题提到的“史上最NB的VIM配置文件”显然指的是一个精心优化过的`.vimrc`文件,这是VIM的初始化脚本,用于存储用户的所有自定义设置和映射。 首先,我们来看`.vimrc`文件。这是一个纯文本文件,其中包含了VIM启动...

    VIM配置文件包哦

    VIM,全称Vi IMproved,是一款...总之,这个VIM配置文件包提供了一个良好的起点,让你可以快速拥有一个功能丰富的编辑环境。通过学习和调整这些配置,你将能够提升编程和文本编辑的效率,享受到VIM所带来的乐趣和便利。

    vim配置文件和.bashrc

    **vim配置文件(.vimrc)** .vimrc文件是vim编辑器的配置文件,它存储了用户自定义的快捷键、插件设置、颜色主题等个性化配置。通过编辑.vimrc文件,用户可以定制vim的行为以适应个人的编程习惯和偏好。以下是一些...

    vim配置文件【完美版】

    按会打开一个MRU窗口,这个窗口里面记录了最近打开的文档,上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。 &lt;F5&gt; : LookupFile 在VIM的上面打开文件查找窗口, &lt;F6&gt; : vimgrep 假设你想查找...

    VIM配置文件

    VIM配置文件是用户根据个人需求自定义VIM行为的一种方式,它通常位于用户的家目录下的`.vimrc`文件中。这个配置文件可以包含各种指令,如快捷键绑定、颜色主题、插件设置等,以提升VIM的使用体验。 在描述中提到的...

    vim配置文件及插件脚本

    在"vim配置文件及插件脚本"这个主题中,我们将深入探讨如何优化和个性化你的Vim体验。 首先,Vim的配置文件是`~/.vimrc`,这是一个Bash脚本,用于设置各种选项、快捷键(或映射)和自定义行为。以下是一些常见的...

    vim配置文件

    **vim配置文件详解** 在IT领域,vim是一个广泛使用的文本编辑器,因其高效性和灵活性而备受程序员喜爱。本文将深入探讨“vim配置文件”的相关知识,包括如何使用配置文件提升vim的功能,以及如何通过解压`vim_pkg....

    自用vim配置文件及插件

    这个“自用vim配置文件及插件”压缩包包含了个人定制的Vim设置和一系列插件,旨在提升编程体验,特别是对于C和C++等语言的开发。 首先,让我们了解一下Vim的配置文件`.vimrc`。这个文件是Vim启动时加载的脚本,用于...

    vim配置文件+常用插件

    本文将详细介绍Vim的配置文件以及常用的插件,旨在帮助你充分利用这款工具。 首先,我们来谈谈Vim的配置文件——`.vimrc`。这是Vim启动时读取的设置文件,允许用户自定义各种行为,如快捷键、颜色方案、自动缩进...

    ubuntu 下vim的配置文件

    ### Ubuntu下Vim配置文件详解 #### 一、概述 Vim是一款强大的文本编辑器,在Linux环境下被广泛使用。为了更好地提升工作效率和个人习惯,通常会定制一个`.vimrc`文件来个性化配置Vim的行为。本篇文章将根据提供的...

    我的VIM Plugin及配置文件

    除了这些核心插件,压缩包可能还包含了作者的个人VIM配置文件(通常命名为`.vimrc`),这是一份自定义VIM行为和设置的脚本。用户可以通过这份配置文件设置自己的快捷键、颜色方案、自动缩进规则等,以满足个人的编辑...

    vim的c.vim和cpp.vim文件

    而是包含了一些与Vim配置无关的文件,如`.bash_history`(记录bash shell的命令历史)、`.bash_logout`(bash shell退出时执行的脚本)、`.acm.cpp`(一个可能的C++源代码文件)、`.dmrc`(可能的桌面环境配置文件)...

    vim配置资源包括各种必备插件

    - `.vimrc` 是 Vim 的配置文件,它定义了 Vim 的启动行为和默认设置。通过编辑此文件,用户可以自定义快捷键、设置语法高亮、调整界面布局等,使 Vim 更加符合个人习惯。 2. **Vim 插件管理器**: - 为了方便管理...

    史上最全的vim配置

    jeffy的vim配置脚本可能包括了对这个文件的修改,比如添加了一些启动时加载的插件,调整了界面颜色,设置了快捷键映射,以及启用了特定的语言支持等功能。通过这样的配置,vim可以变得更加高效和易用,提升编程或...

Global site tag (gtag.js) - Google Analytics