`

我的gVim配置备份

 
阅读更多
if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型
    let g:iswindows=1
else
    let g:iswindows=0
endif
"设置不兼容VI模式,在增强模式下运行
set nocompatible
syntax on"打开高亮
if has("autocmd")
    filetype plugin indent on "根据文件进行缩进
    augroup vimrcEx
        au! 
        autocmd FileType text setlocal textwidth=78
        autocmd BufReadPost *
                    \    if line("'\"") > 1 && line("'\"") <= line("$") |
                    \ exe "normal! g`\"" |
                    \ endif
    augroup END
else
    "智能缩进,相应 的有cindent,官方说autoindent可以支持各种文件的缩进,
    "但是效果会比只支持C/C++的cindent效果会差一点,但笔者并没有看出来
    set autoindent " always set autoindenting on 
endif " has("autocmd")
set nowrap "不自动换行
set hlsearch "高亮显示结果
set incsearch "在输入要搜索的文字时,vim会实时匹配
set backspace=indent,eol,start whichwrap+=<,>,[,] "允许退格键的使用
if(g:iswindows==1) "允许鼠标的使用
    "防止linux终端下无法拷贝
    if has('mouse')
        set mouse=a
    endif
    au GUIEnter * simalt ~x 
endif
"字体的设置
set guifont=Courier_New:h14:cDEFAULT "记住空格用下划线代替哦
"set gfw=幼圆:h10:cGB2312

" 显示状态栏(默认值为 1,无法显示状态栏)
set laststatus=2
" Format the statusline
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=[%n]%<%f%y%h%m%r%=[%b\ 0x%B]\ %l\ of\ %L,%c%V\ Page\ %N\ %P
function! CurDir()
    let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")
    return curdir
endfunction
" 用浅色高亮当前行
if has("gui_running")
    autocmd InsertLeave * se nocul
    autocmd InsertEnter * se cul
endif

" 标签页设置
if has("gui_running")
    set showtabline=2
    map! tn tabnew
    nmap <C-c> :tabclose<CR>
endif
 
" 标签页只显示文件名
function ShortTabLabel ()
    let bufnrlist = tabpagebuflist (v:lnum)
    let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
    let filename = fnamemodify (label, ':t')
    return filename
endfunction
 
set guitablabel=%{ShortTabLabel()}


"模仿快捷键,如:ctrt+A 全选、Ctrl+C复制、 Ctrl+V 粘贴等
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
"定义 “mapleader”变量,系统默认的是反斜杠,它位置太偏不容易按到
let mapleader = ","
let g:mapleader = ","
 
"gvim 内部编码
set encoding=utf-8
"当前编辑的文件编码
set fileencoding=utf-8
"gvim打开支持编码的文件
set fileencodings=ucs-bom,utf-8,gbk,cp936,gb2312,big5,euc-jp,euc-jp,euc-kr,latin1
 
"解决consle输出乱码
language messages zh_CN.UTF-8
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
 
"设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
" 防止特殊符号无法正常显示
set ambiwidth=double
"缩进尺寸为4个空格
set sw=4
"tab 宽度为4个字符
set ts=4
"编辑时将所有tab替换为空格
set et
"按一次backspace就删除4个空格了
set smarttab
"不生成备份文件,如~index.html
set nobackup
"开启行号标记
set number
"配色方案为desert
colo darkblack
"关才上侧工具栏
set guioptions-=T
"关才右侧滚动条
"set guioptions-=r
"开启自动缩进
set autoindent
"显示匹配括号
set showmatch


"代码自动补全  (按快捷键Ctrl+X+O)
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
"无需closetag插件,一行代码完成html/xml的闭合tag自动补全
autocmd BufNewFile,BufRead *.html,*.htm,*.xml inoremap </ </<c-x><c-o>
"转换文件保存的编码,只在UTF-8和CP936之间
map <leader>ut <esc>:set fenc=utf-8<cr>:w!<cr>
map <leader>zh <esc>:set fenc=cp936<cr>:w!<cr>


"--------------------------------------------------
"zencoding.vim
"默认快捷键为 <CTRL+Y>+,
" 按住CTRL 键同时按Y键,然后马上按,号
"--------------------------------------------------
let g:use_zen_complete_tag = 1
"设置默认的快捷键
let g:user_zen_leader_key = '<c-j>'

 
"实现括号和引号自动补全
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {<CR>}<Esc>O
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>
inoremap } <c-r>=CloseBracket()<CR>
inoremap " <c-r>=QuoteDelim('"')<CR>
inoremap ' <c-r>=QuoteDelim("'")<CR>
 
function ClosePair(char)
 if getline('.')[col('.') - 1] == a:char
 return "\<Right>"
 else
 return a:char
 endif
endf
 
function CloseBracket()
 if match(getline(line('.') + 1), '\s*}') < 0
 return "\<CR>}"
 else
 return "\<Esc>j0f}a"
 endif
endf
 
function QuoteDelim(char)
 let line = getline('.')
 let col = col('.')
 if line[col - 2] == "\\"
 "Inserting a quoted quotation mark into the string
 return a:char
 elseif line[col - 1] == a:char
 "Escaping out of the string
 return "\<Right>"
 else
 "Starting a string
 return a:char.a:char."\<Esc>i"
 endif
endf


"代码折叠
"用空格键来开关折叠(说明西方“"”后面的内容为注释,不会被VIM所识别)
set foldenable
set foldmethod=indent
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
"代码折叠使用方式
set foldmethod=syntax " 用语法高亮来定义折叠
set foldmethod=indent " 更多的缩进表示更高级别的折叠(这个似乎效果好一些)

"--------------------------------------------------
"NERD_tree
"命令模式下输入:NERDTreeToggle便可打开或关闭NERDTreeToggle
"设置快捷键,默认是F10
map <F10> :NERDTreeToggle<cr>

"--------------------------------------------------
"nerdcommenter.vim
"在命令前加上数字可以同时注释多行
" <leader>ca 在可选的注释方式之间切换,比如C/C++ 的块注释/* */和行注释//。
" <leader>cc 注释当前行或者可视模式下被选中的文本。
" <Leader>c<space>或者<Leader>ci 切换被选中行的注释状态。
" <Leader>cA 或者<Leader>cI 添加注释符到行末或行首,并进入插入模式,光标移到注释符中。
" <Leader>cr 或cl 或cb 添加注释,注释符会向右,向左,居中对齐。
" <leader>cs 以”性感”的方式注释。
" <leader>c$ 注释到行尾。
" <leader>cu 取消注释。
" <leader>cm 添加块注释。
"--------------------------------------------------
"让注释符与语句之间留一个空格
let NERDSpaceDelims=1
"多行注释时样子更好看
let NERDCompactSexyComs=1
"--------------------------------------------------
"authorinfo.vim
"此插件需要nerdcommenter插件支持
"注:我修改了插件,让其版本号为第一次用authorinfo作注释的时间
let g:vimrc_author='Anduo'
let g:vimrc_email='anduo@qq.com'
let g:vimrc_homepage='http://anduo.iteye.com'
"设置快捷键,默认是F4
map <F11> :AuthorInfoDetect<cr>

"检查当前文件代码语法(php){{{
function! CheckSyntax()
 if &filetype!="php"
  echohl WarningMsg | echo "Fail to check syntax! Please select the right file!" | echohl None
  return
 endif
 if &filetype=="php"
  " Check php syntax
  setlocal makeprg=\"php\"\ -l\ -n\ -d\ html_errors=off
  " Set shellpipe
  setlocal shellpipe=>
  " Use error format for parsing PHP error output
  setlocal errorformat=%m\ in\ %f\ on\ line\ %l
 endif
 execute "silent make %"
 set makeprg=make
 execute "normal :"
 execute "copen"
endfunction
map <F6> :call CheckSyntax()<CR>
"}}}

 

分享到:
评论

相关推荐

    我的windows gvim的配置文件

    这个标题表明我们将探讨一个用户自定义的GVim配置文件,它包含了用户对于GVim环境个性化定制的详细设置。 【描述】:“我自己使用的windows 下的gvim的配置文件,其中包括我使用的一个字体文件,字体文件直接放入...

    gvim配置文件

    gvim配置文件是用于自定义GVim编辑器工作环境的设置集合,通常以.vimrc或_gvimrc的文件格式存在。GVim是Vim编辑器的图形界面版本,它继承了Vim的强大功能,并提供了窗口系统下的用户交互界面。在深入探讨gvim配置...

    windows下gvim配置

    以下是对“windows下gvim配置”这一主题的详细解释。 1. **_vimrc配置文件**: `_vimrc`是Vim的初始化脚本,用于设置Vim的各种行为和选项。每个用户都可以创建自己的`_vimrc`文件(通常位于用户主目录下),以根据...

    Vim/Gvim配置文件+配色方案_By Marslo

    作为自己极为方便和顺手的编译器,在最近两年的使用中,我不断的更新和加强vim的功能,特此备份。。。 ============================== 开启最大化 (win32用户直接就可以最大化,但是linux用户则需要安装wmctrl,...

    gvim高亮显示verilog/vhdl/system verilog 文件配置

    `.vimrc`是vim的配置文件,它定义了vim的各种设置和行为,如快捷键、颜色方案、插件等。`.vim`文件夹则包含了vim的色彩主题和其他自定义设置,特别是对于语言高亮的定义。 要使用这些配置,你需要按照以下步骤操作...

    windows下gvim配置_vimrc

    `_vimrc`文件是GVIM的初始化配置文件,它允许用户自定义编辑器的行为和外观,以满足个人的工作习惯和需求。 首先,让我们深入了解一下`_vimrc`文件。在Vim中,`.vimrc`或`_vimrc`是启动时读取的配置脚本,用于设置...

    gvim编译器完美配置文件

    2. **注意事项**:可能提醒用户备份原有的_vimrc文件,以防万一需要恢复原来的设置。 3. **特有功能**:介绍配置文件中特别为"兄弟连"定制的功能,如特定编程语言的优化设置或教学相关的辅助工具。 4. **故障排查**...

    gvim的python配置

    `gvim配置.rar`可能是作者分享的完整配置文件,解压后可以覆盖到`.vim`目录下,但记得先备份原有的`_vimrc`以防意外。 总的来说,通过定制GVim的配置,我们可以创建一个高效且个性化的Python开发环境。不断探索和...

    windows上gvim的编码设置

    2. **备份**:在修改任何配置文件之前,请先备份原始文件,以防意外情况发生。 3. **测试**:配置完成后,建议使用不同编码格式的文件进行测试,确保配置无误。 4. **环境变量**:如果使用了 `$VIMRUNTIME` 环境变量...

    GVIM工具软件及其配置

    在"GVIM工具软件及其配置"的主题中,我们主要讨论如何设置和优化GVIM以适应个人的工作习惯。配置GVIM主要是通过修改.vimrc文件,这是一个启动时读取的初始化脚本,用于设定Vim的各种行为和快捷键。 首先,`_vimrc` ...

    gvim解决utf-8文件中文乱码

    在gvim配置文件中,通过`set fileencoding=utf-8`来指定gvim的内部编码为UTF-8。这样,无论打开哪种编码的文件,gvim都会尝试将其转换为UTF-8进行处理,从而避免乱码问题。 #### 步骤2:设置文件编码检测顺序 为了...

    Gvim运行文件

    以上只是Gvim配置的一小部分,实际上,你可以根据个人需求调整的设置非常多,Gvim的灵活性和可定制性正是其魅力所在。随着对Gvim的深入使用和理解,你会发现它是一个无比强大且高效的文字编辑器。

    Gvim/Vim配置文件(for Java)

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

    gvim编辑器说明

    gvim,作为Vim编辑器的图形界面版本,是程序员、系统管理员以及其他技术专业人员在处理脚本编程、配置文件修改等任务时的首选工具之一。本文将深入探讨gvim编辑器的具体配置及使用方法,帮助用户更高效地利用这一...

    GVIM Windows

    这使得用户能够在不同的计算机上使用个人定制的GVIM配置,只需将U盘插入即可。 **便携式应用优势** 1. **无痕运行**:不会在主机电脑上留下任何设置或注册表项,保护主机系统的纯净。 2. **随时随地**:U盘携带...

    gvim的vimrc

    Vimrc文件是gvim的配置文件,它允许用户自定义编辑器的各种设置,包括颜色主题、快捷键、插件和行为等,以提高编程和文本编辑的效率。在这个主题中,我们将深入探讨如何配置gvim的vimrc文件,并扩展到与ctags等相关...

    gvim打造成ide 在linux和windows下

    本资源包旨在帮助用户在Linux和Windows操作系统下将GVim配置成功能完备的IDE。 首先,GVim是Vi(Visual)编辑器的图形界面版本,它继承了Vi的高效操作模式,同时也提供了更友好的图形界面。GVim支持多种编程语言,...

    gVim代码编辑器~~~~~~~~~

    4. **易于备份和更新**:所有gVim的数据和配置都存储在一个文件夹内,备份和升级都非常简单。 总之,gVim作为一款优秀的代码编辑器,凭借其强大的功能和高度的可定制性,为程序员提供了高效、便捷的开发环境。...

    gvim72_scheme_bin_vimrc

    【标题】"gvim72_scheme_bin_vimrc"是一个针对Windows 32位系统优化的GVim配置文件集合,包含vimrc配置、颜色方案(colorscheme)以及可能的二进制组件(bin)。这个资源是作者两年研究和实践Vim编辑器的结果,受到...

    vim 一键搞定(ZISON 备份)

    这个"一键搞定"的ZISON备份可能是为了简化vim的安装或配置过程,使得初学者或高级用户都能快速上手。 1. **vim的基本操作** - 启动vim:在命令行输入`vim 文件名`即可打开或创建一个新文件。 - 编辑模式:默认...

Global site tag (gtag.js) - Google Analytics