linux环境下vim的初始化配置文件为.vimrc, .vimrc文件有两个:系统版本和用户版本,前者不同发行版linux会有不同,一般位于/etc/vimrc,是整个系统vim的默认配置;后者位于~/.vimrc,是当前用户的vim配置,会覆盖系统配置。
vim的其他配置参数文件位于/usr/local/share/vim/下,可进入vim,在命令模式下键入:version查看基本配置路径
~/.vimrc有时并不存在,此时用户可以建立一个.vimrc,放入主目录以实现自己的vim配置。
主要命令参数
打开语法高亮:syntax on
自动保存:set autowrite
背景使用黑色:set background=dark
使用配色方案:colorscheme desert
设置背景主题:color asmanian2
在处理未保存或只读文件的时候,弹出确认:set confirm
行内替换:set gdefault
隐藏工具栏:set guioptions-=T
隐藏菜单栏:set guioptions-=m
字符间插入的像素行数目:set linespace=0
设置魔术:set magic
带有如下符号的单词不要被换行分割:set iskeyword+=_,$,@,%,#,-
关闭vi模式:set nocp
取消VI兼容:set nocompatible(VI键盘模式不易用,避免以前版本的一些bug和局限)
去掉输入错误的提示声音:set noeb
不要用空格代替制表符:set noexpandtab
与windows共享剪贴板:set clipboard+=unnamed
显示行号:set number或者set nu
历史命令保存行数:set history=100
当文件被外部改变时自动读取:set autoread
取消自动备份及产生swp文件:
set nobackup
set nowb
set noswapfile
允许使用鼠标点击定位:set mouse=a
允许区域选择:
set selection=exclusive
set selectmode=mouse,key
高亮光标所在行:set cursorline
在被分割的窗口间显示空白,便于阅读:set fillchars=vert:\ ,stl:\ ,stlnc:\
允许折叠:set foldenable
设置折叠区域的宽度:set foldcolumn=0(0-12的整数)
设置折叠层数为:setlocal foldlevel=1
打开文件是默认不折叠代码:set foldlevelstart=99
设置为自动关闭折叠:set foldclose=all
设置折叠方式:set foldmethod=syntax(manual(手工折叠)、expr(表达式折叠)、indent(缩进折叠)、marker(标记折叠)和syntax(语法折叠))
用空格键来开关折叠(syntax折叠):nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')
zc 关闭当前打开的折叠;zo 打开当前的折叠;
zm 关闭所有折叠;zM 关闭所有折叠及其嵌套的折叠;
zr 打开所有折叠;zR 打开所有折叠及其嵌套的折叠
zd 删除当前折叠;zE 删除所有折叠
zj 移动至下一个折叠;zk 移动至上一个折叠
zn 禁用折叠;zN 启用折叠
取消光标闪烁:set novisualbell
总是显示状态行:set laststatus=1(启动显示状态行(1),总是显示状态行(2))
状态栏显示当前执行的命令:set showcmd
通过使用commands命令,告诉我们文件的哪一行被改变过:set report=0
设定窗口大小:set lines=40 columns=155
标尺功能,显示当前光标所在行列号:set ruler
设置命令行高度为3:set cmdheight=3
粘贴时保持格式:set paste
高亮显示匹配的括号:set showmatch
匹配括号高亮的时间(单位是十分之一秒):set matchtime=1
在搜索的时候忽略大小写:set ignorecase
高亮被搜索的句子:set hlsearch
在搜索时,输入的词句的逐字符高亮:set incsearch
继承前一行的缩进方式实现自动缩进:set autoindent
为C程序提供自动缩进:set smartindent
在行和段开始处使用制表符:set smarttab
使用C样式的缩进:set cindent
制表符为4:set tabstop=4
统一缩进为4:
set softtabstop=4
set shiftwidth=4
允许使用退格键,退格键正常处理indent, eol, start等:
set backspace=eol,start,indent 或者 set backspace=2
允许backspace和光标键跨越行边界(不建议):set whichwrap+=,h,l
取消换行:set nowrap
启动的时候不显示那个援助索马里儿童的提示:set shortmess=atI
在被分割的窗口间显示空白,便于阅读:set fillchars=vert:\ ,stl:\ ,stlnc:\
光标移动到buffer的顶部和底部时保持3行距离:set so=3 或者 set scrolloff=3
设定默认解码:
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
设定字体:
set guifont=Courier_New:h11:cANSI
set guifontwide=新宋体:h11:cGB2312
设定编码:
set enc=utf-8
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
打开文件类型检测功能:filetype on
载入文件类型插件:filetype plugin on
不同文件类型采用不同缩进文件:filetype indent on
自动补全:
filetype plugin indent on(为特定文件类型载入相关缩进文件)
set completeopt=longest,menu(打开文件类型检测, 加了这句才可以用智能补全)
自动补全命令时候使用菜单式匹配列表:
set wildmenu(增强模式中的命令行自动完成操作)
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet
设定窗口位置:winpos 5 5
显示中文帮助
if version >= 603
set helplang=cn
set encoding=utf-8
endif
最后编辑:2020-12-23作者:qingheluo
这个作者貌似有点懒,什么都没有留下。