首页 > 服务器学习 > Linux > vim的初始化配置
2017
08-27

vim的初始化配置

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

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。