gvimrc

本文介绍了一个详细的GVIM配置文件(.gvimrc),其中包括语法高亮、窗口大小设置、滚动条位置调整、菜单及工具栏隐藏等功能。此外,还提供了一个用于获取当前光标位置附近函数原型的实用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

" .gvimrc

"

" Longer Chan's .gvimrc

" http://longerchan.blogcn.com

" 2007-04-19

 

" always have syntax highlighting in with the gui:

syntax on

 

" window size:

set lines=40

 

" max window when open VIM

au GUIEnter * simalt ~x

 

" scroll bar at the left rather than the right:

"set guioptions+=r

"set guioptions-=l

 

" no menu, and no toolbar:

"set guioptions+=m

"set guioptions-=T

 

" have error messages red on white (rather than t'tother way round, which isn't

" readable in the above font):

highlight ErrorMsg guibg=White guifg=Red

function! GetProtoLine()

  let ret       = ""

  let line_save = line(".")

  let col_save  = col(".")

  let top       = line_save - winline() + 1

  let so_save = &so

  let &so = 0

  let istypedef = 0

  " find closing brace

  let closing_lnum = search('^}','cW')

  if closing_lnum > 0

    if getline(line(".")) =~ '/w/s*;/s*$'

      let istypedef = 1

      let closingline = getline(".")

    endif

    " go to the opening brace

    normal! %

    " if the start position is between the two braces

    if line(".") <= line_save

      if istypedef

        let ret = matchstr(closingline, '/w/+/s*;')

      else 

        " find a line contains function name

        let lnum = search('^/w','bcnW')

        if lnum > 0

          let ret = getline(lnum)

        endif

      endif

    endif

  endif

  " restore position and screen line

  exe "normal! " . top . "Gz/<CR>"

  call cursor(line_save, col_save)

  let &so = so_save

  return ret

endfunction

 

function! WhatFunction()

  if &ft != "c" && &ft != "cpp"

    return ""

  endif 

  let proto = GetProtoLine() 

  if proto == ""

    return "?"

  endif 

  if stridx(proto, '(') > 0

    let ret = matchstr(proto, '/w/+(/@=')

  elseif proto =~# '/<struct/>'

    let ret = matchstr(proto, 'struct/s/+/w/+')

  elseif proto =~# '/<class/>'

    let ret = matchstr(proto, 'class/s/+/w/+')

  else

    let ret = strpart(proto, 0, 15) . "..."

  endif 

  return ret

endfunction

 

 

" change status line

if has("statusline")

    set statusline=%<%f/ %{WhatFunction()}/%h%m%r%=%{/"[/".(&fenc==/"/"?&enc:&fenc).((exists(/"+bomb/")/ &&/ &bomb)?/",/":/"/")./"]/ /"}%k/ %-14.(%l,%c%V%)/ %P

" set statusline=%<%f/ %h%m%r%=%-20.(line=%l,col=%c%V,totlin=%L%)/%h%m%r%=%-40(,bytval=0x%B,%n%Y%)/%P

    " set statusline=%f:%{WhatFunction()}/ %m%=/ %l-%v/ %p%%/ %02B

endif

" set statusline=%F%m%r%h%w/ [FORMAT=%{&ff}]/ [TYPE=%Y]/ [POS=%l,%v][%p%%]/ %{strftime(/"%d/%m/%y/ -/ %H:%M/")}

 

" end of .gvimrc

 

 

"Best Regards.

 

 

 

 

"-------------------------------------------------------------------------------- " 一般设定 "-------------------------------------------------------------------------------- set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set encoding=utf-8 set termencoding=cp936 language messages zh_CN.UTF-8 "解决输出乱码 source $VIMRUNTIME/delmenu.vim "解决菜单乱码 source $VIMRUNTIME/menu.vim "解决consle输出乱码 set nocompatible " 不要使用vi的键盘模式,而是vim自己的 set history=100 " history文件中需要记录的行数 set clipboard+=unnamed " 与windows共享剪贴板 set viminfo+=! " 保存全局变量 set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割 syntax on " 语法高亮 set cursorline " 突出显示当前行 nnoremap c:set cursorline! cursorcolumn! "set cursorline "au! Cursorhold *exe 'match CurrentLine ^%'. line('.').'l.*/' "set ut=100 set nu! " 显示行号 set scrolloff=5 " 在光标接近底端或顶端时,自动下滚或上滚 "hi Comment ctermfg=DarkCyan "修改默认注释颜色 ":highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white ":match OverLength '\1v.*' " 高亮字符,让其不受100列限制 highlight StatusLine guifg=SlateBlue guibg=Yellow " 状态行颜色 highlight StatusLineNC guifg=Gray guibg=White " 状态行颜色 set laststatus=2 " 进入插入模式时改变状态栏颜色(仅限于Vim 7) if version >= 700 au InsertEnter * hi StatusLine guibg=#818D29 guifg=#FCFCFC gui=none au InsertLeave * hi StatusLine guibg=Yellow guifg=SlateBlue gui=none endif if has("gui_running") "au GUIEnter * simalt ~x " 窗口启动时自动最大化 "set guioptions-=m " 隐藏菜单栏 "set guioptions-=T " 隐藏工具栏 "set guioptions-=L " 隐藏左侧滚动条 "set guioptions-=r " 隐藏右侧滚动条 "set guioptions-=b " 隐藏底部滚动条 "set showtabline=0 " 隐藏Tab栏 endif "-------------------------------------------------------------------------------- " 配色方案(按照当前时间的秒数的个位数决定使用哪个方案) "-------------------------------------------------------------------------------- if (strftime("%S")-floor(strftime("%S")/1
<think>好的,我现在需要回答用户关于Vim配置文件及其位置的问题。首先,我得回忆一下自己知道的Vim配置相关的知识,可能还需要查阅一些资料确保准确性。 用户问的是Vim的配置文件有哪些,分别在什么位置。我记得Vim有几个主要的配置文件,比如vimrc,还有针对不同操作系统的版本。不过具体路径可能记不太清楚,需要确认。 首先,Vim的主配置文件通常叫做vimrc,但可能分为系统级和用户级的。系统级的可能在/etc/vim/目录下,而用户级的在用户的主目录下,比如~/.vimrc。不过不同操作系统可能有差异,比如Windows和Unix-like系统路径不同。 然后,可能还有其他的配置文件,比如gvimrc,用于图形界面的GVim配置。同样,系统级和用户级的路径需要分开说明。 接下来,还有Vim的插件和自定义脚本的存放位置,通常是在~/.vim/目录下,比如plugins、autoload等子目录。这些虽然不是配置文件本身,但用户可能想知道相关结构。 不过用户的问题明确是“配置文件”,所以可能重点放在vimrc和gvimrc上。需要确认不同系统的路径差异,包括Linux、macOS和Windows的情况。 对于Unix-like系统(如Linux和macOS),用户级的vimrc是~/.vimrc,系统级的是/etc/vim/vimrc或者/usr/share/vim/vimrc。而Windows的话,用户级可能在C:\Users\用户名\_vimrc,系统级可能在安装目录下的vimrc文件,比如C:\Program Files\Vim\_vimrc。 另外,GVim的配置文件gvimrc,在Unix-like系统是~/.gvimrc,系统级可能是/etc/vim/gvimrc;Windows下则是用户目录的_vimrc和_gvimrc,或者用下划线前缀? 还需要注意,新版Vim可能推荐使用~/.vim/vimrc的方式,但传统上还是用~/.vimrc。这点可能需要说明,避免用户混淆。 此外,可能还有其他配置文件,比如exrc,但不太常用。或者.vim目录下的配置文件,比如colors目录下的配色方案,但用户可能指的是主要配置文件。 总结下来,需要分点列出各个配置文件及其在不同系统下的位置,可能包括: 1. vimrc:主配置文件 - 用户级:~/.vimrc(Unix-like),$HOME/_vimrc(Windows) - 系统级:/etc/vim/vimrc(Linux),$VIM安装路径/_vimrc(Windows) 2. gvimrc:图形界面配置 - 用户级:~/.gvimrc(Unix-like),$HOME/_gvimrc(Windows) - 系统级:/etc/vim/gvimrc(Linux),对应Windows路径 3. 其他可能的相关文件,比如~/.vim/目录下的插件和配置,但属于扩展结构。 需要确保路径的准确性,可能需要快速查阅官方文档或可靠来源确认路径,特别是Windows的情况,因为容易混淆。比如,Windows下的用户配置文件可能在C:\Users\用户名\_vimrc,而系统级可能在Vim安装目录下,如C:\Program Files (x86)\Vim\_vimrc,但具体取决于安装方式。 同时,需要注意不同Vim版本或发行版可能有细微差别,比如有些Linux发行版可能将系统级配置放在/etc/vimrc而不是/etc/vim/vimrc,需要指出可能存在的情况。 最后,整理这些信息,用清晰的结构分点回答用户的问题,确保用户能明白不同系统和配置文件的层次。</think>Vim的配置文件主要有以下几个,不同操作系统下的路径有所区别: ### 1. **主配置文件 `vimrc`** - **用户级配置**(优先级更高,覆盖系统配置): - **Linux/macOS**:`~/.vimrc` - **Windows**:`C:\Users\<用户名>\_vimrc` 或 `$HOME\_vimrc` - **系统级配置**(所有用户共用): - **Linux**:`/etc/vim/vimrc` 或 `/usr/share/vim/vimrc` - **Windows**:Vim安装目录下的 `_vimrc`(例如 `C:\Program Files\Vim\_vimrc`) --- ### 2. **图形界面配置文件 `gvimrc`** (用于GVim的图形界面配置) - **用户级配置**: - **Linux/macOS**:`~/.gvimrc` - **Windows**:`C:\Users\<用户名>\_gvimrc` 或 `$HOME\_gvimrc` - **系统级配置**: - **Linux**:`/etc/vim/gvimrc` - **Windows**:Vim安装目录下的 `_gvimrc` --- ### 3. **其他相关配置目录** - **用户级插件与自定义配置**: - **Linux/macOS/Windows**:`~/.vim/` 或 `$HOME\vimfiles\`(Windows) - 包含子目录: - `plugins/`:存放插件 - `colors/`:存放配色方案 - `autoload/`:自动加载脚本 --- ### 优先级说明 1. 用户级配置(如 `~/.vimrc`)会覆盖系统级配置。 2. 如果 `~/.vimrc` 不存在,Vim会尝试加载 `~/.vim/vimrc`(需手动创建)。 --- ### 验证配置路径 在Vim中输入以下命令查看当前加载的配置文件路径: ```vim :echo $MYVIMRC ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值