vim的配置文件在哪?

vim的配置文件在哪?,第1张

配置文件在哪里

当我们使用Vim时,

你需要知道一系列的配置文件.

这些配置文件的位置依赖于Vim的安装位置和你所使用的 *** 作系统.

通常,

有三个配置文件,

你是必须知道在哪里能找到的.vimrc

这是Vim最主要的配置文件.

它有两个版本,

全局版本(global)和用户版本(personal)).

全局vimrc文件放在你安装Vim的目录中.

你可以打开vim,

在普通模式下输入下面的命令来找出这个目录的位置:echo

$VIM

结果应该是这样的:

Linux:

/usr/share/vim/vimrc

Windows:

c:\program

files\vim\vimrc

用户版本的vimrc文件放在你的主目录下.

主目录的位置依赖于你的 *** 作系统.

Vim最初是为Unix及类Unix *** 作系统提供的,

所以用户版本的vimrc文件都是通过在文件名的最前面加一个点来设置成隐藏文件.

这是在类Unix上设置旁察隐藏文件的方法,

但不适用于Microsoft

Windows.

所以呢,

vimrc文件携锋与 *** 作系统有关.

应该是这样的:

Linux:

/home/kim/.vimrc

Windows:

c:\documents

and

settings\kim\_vimrc

你可以在Vim的普通模式下输入下面的命令,

来找出Vim认为的你的系统的主目录的位置:

:echo

$HOME

vimrc文件包含的是ex

(vi的前身)

命令,

一条命令一行.

并且vimrc文件也是增加Vim配置信息的默认方式.

你的vimrc可以将其他的文件

(包含着配置信息)

作为外部资源.

在vimrc文件里,

你可用以source命令来实现:

source

/path/to/external/file

gvimrc文件辩启晌是专为Gvim的配置文件.

它和上面提到的vimrc文件很相似,

并且是放在同一个目录下的

(也是分为用户版和全局版),

如:

Linux:

/home/kim/.gvimrc

/usr/share/vim/gvimrc

Windows:

c:\documents

and

settings\kim\_gvimrc

c:\program

files\vim\

这个文件是用来设置只有Gvim才能使用的GUI设置.exrc

这是文件是用作与vi或ex向后兼容用的.

它也是和vimrc文件放在同一个目录,

当然也是分为用户版和全局版).

然而,

除非你想用vi兼容的模式来使用用Vim,

否则你根本就不会用到这个文件.

vimrc的存放位置:

系统 vimrc 文件: "$VIM/vimrc"

用户 vimrc 文件: "$HOME/.vimrc"

用户 exrc 文件: "$HOME/.exrc"

系统 gvimrc 文件: "$VIM/gvimrc"

用户 gvimrc 文件: "$HOME/.gvimrc"

系统菜单文件: "$VIMRUNTIME/menu.vim"

$VIM 预设值: "/usr/share/vim"

vimrc文件内容:蔽如滑

"是否兼容VI,compatible为兼容,nocompatible为不完全兼容

"如橡岁果设置为compatible,则tab将不会变成空格

set nocompatible

source $VIMRUNTIME/vimrc_example.vim

source $VIMRUNTIME/mswin.vim

"设置鼠标运行宏腊模式为WINDOWS模式

behave mswin

" Multi-encoding setting, MUST BE IN THE BEGINNING OF .vimrc!

"

if has("multi_byte")

" When 'fileencodings' starts with 'ucs-bom', don't do this manually

"set bomb

set fileencodings=ucs-bom,utf-8,chinese,taiwan,japan,korea,latin1

" CJK environment detection and corresponding setting

if v:lang =~ "^zh_CN"

" Simplified Chinese, on Unix euc-cn, on MS-Windows cp936

set encoding=chinese

set termencoding=chinese

if &fileencoding == ''

set fileencoding=chinese

endif

elseif v:lang =~ "^zh_TW"

" Traditional Chinese, on Unix euc-tw, on MS-Windows cp950

set encoding=taiwan

set termencoding=taiwan

if &fileencoding == ''

set fileencoding=taiwan

endif

elseif v:lang =~ "^ja_JP"

" Japanese, on Unix euc-jp, on MS-Windows cp932

set encoding=japan

set termencoding=japan

if &fileencoding == ''

set fileencoding=japan

endif

elseif v:lang =~ "^ko"

" Korean on Unix euc-kr, on MS-Windows cp949

set encoding=korea

set termencoding=korea

if &fileencoding == ''

set fileencoding=korea

endif

endif

" Detect UTF-8 locale, and override CJK setting if needed

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"

set encoding=utf-8

endif

else

echoerr 'Sorry, this version of (g)Vim was not compiled with "multi_byte"'

endif

"解决菜单乱码

set encoding=utf-8

"fileencodings需要注意顺序,前面的字符集应该比后面的字符集大

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

set langmenu=zh_CN.utf-8

set imcmdline

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

"解决consle输出乱码

language messages zh_CN.utf-8

"自动检测文件类型并加载相应的设置,snipMate插件需要打开这个配置选项

filetype plugin indent on

"语法高亮

syntax on

"自动缩进

set autoindent

"设置 Backspace 和 Delete 的灵活程度,backspace=2 则没有任何限制

"设置在哪些模式下使用鼠标功能,mouse=a 表示所有模式

set mouse=a

set backspace=2

"不自动换行

set nowrap

"设置超过100字符自动换行

"set textwidth=100

"设置超过100列的字符带下划线

"au BufWinEnter * let w:m2=matchadd('Underlined', '\%>100v.\+', -1)

"syn match out80 /\%80v./ containedin=ALL

"hi out80 guifg=white guibg=red

"智能对齐方式

set smartindent

"一个tab是4个字符

set tabstop=4

"按一次tab前进4个字符

set softtabstop=4

"用空格代替tab

set expandtab

"设置自动缩进

set ai!

"缩进的字符个数

set cindent shiftwidth=4

"set autoindent shiftwidth=2

"设置折叠模式

set foldcolumn=4

"光标遇到折叠,折叠就打开

"set foldopen=all

"移开折叠时自动关闭折叠

"set foldclose=all

"zf zo zc zd zr zm zR zM zn zi zN

"依缩进折叠

" manual 手工定义折叠

" indent 更多的缩进表示更高级别的折叠

" expr用表达式来定义折叠

" syntax 用语法高亮来定义折叠

" diff对没有更改的文本进行折叠

" marker 对文中的标志折叠

set foldmethod=syntax

"启动时不要自动折叠代码

set foldlevel=100

"依标记折叠

set foldmethod=marker

"显示行号

set number

"打开光标的行列位置显示功能

set ruler

"显示中文引号

set ambiwidth=double

"行高亮

set cursorline

"列高亮,与函数列表有冲突

set cursorcolumn

"设置命令行的高度

set cmdheight=2

"高亮搜索的关键字

set hlsearch

"搜索忽略大小写

set ignorecase

"设置命令历史行数

set history=100

"启动的时候不显示那个援助索马里儿童的提示

"set shortmess=atI

"不要闪烁

"set novisualbell

"显示TAB健

set list

set listchars=tab:>-,trail:-

"高亮字符,让其不受100列限制

":highlight OverLength ctermbg=red ctermfg=white guibg=grey guifg=white

":match OverLength '\%101v.*'

"设置VIM状态栏

set laststatus=2 "显示状态栏(默认值为1, 无法显示状态栏)

set statusline=

set statusline+=%2*%-3.3n%0*\ " buffer number

set statusline+=%f\ " file name

set statusline+=%h%1*%m%r%w%0* " flag

set statusline+=[

if v:version >= 600

set statusline+=%{strlen(&ft)?&ft:'none'}, " filetype

set statusline+=%{&fileencoding}, " encoding

endif

set statusline+=%{&fileformat}] " file format

set statusline+=%= " right align

"set statusline+=%2*0x%-8B\ " current char

set statusline+=0x%-8B\ " current char

set statusline+=%-14.(%l,%c%V%)\ %<%P " offset

if filereadable(expand("$VIM/vimfiles/plugin/vimbuddy.vim"))

set statusline+=\ %{VimBuddy()} " vim buddy

endif

"状态行颜色

"highlight StatusLine guifg=SlateBlue guibg=Yellow

"highlight StatusLineNC guifg=Gray guibg=White

"设置路径,多个路径用逗号分隔

set path=.,"E:/Web/htdocs",,

"去掉有关vi一致性模式,避免以前版本的一些bug和局限

set nocp

"增强模式中的命令行自动完成 *** 作

set wildmenu

"执行 Vim 缺省提供的 .vimrc 文件的示例,包含了打开语法加亮显示等最常用的功能

source $VIMRUNTIME/vimrc_example.vim

"缺省不产生备份文件

set nobackup

"在输入括号时光标会短暂地跳到与之相匹配的括号处,不影响输入

set showmatch

"正确地处理中文字符的折行和拼接

set formatoptions+=mM

"设定文件浏览器目录为当前目录

set bsdir=buffer

"自动切换当前目录为当前文件所在的目录

set autochdir

"自动重新加载外部修改内容

"set autoread

"使PHP识别EOT字符串

hi link phpheredoc string

"允许在有未保存的修改时切换缓冲区

set hidden

"选中一段文字并全文搜索这段文字

vmap <silent>,/ y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>

vmap <silent>,? y?<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>

"进入当前编辑的文件的目录

autocmd BufEnter * exec "cd %:p:h"

"保存文件的格式顺序

set fileformats=dos,unix

"配色

"colorscheme peacock_light

colorscheme peacock_desert

这个是用 auto 命令控制的。

wswj123所说的文件类型插件就是设置了auto命令为不稿罩贺同的扩展名加载不同配置文件。

你看一下脚本就知道了。

假设你的完整路径在:/home/user/doc/闷迟essay

在主配置文件~/.vimrc中加入以下语句:

auto bufread /home/user/doc/essay/* so /home/user/doc/essay/.exrc

你打开所有在essay目录键派下的文件就会自动加载那个目录下的.exrc文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12189586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存