vim如何配置

Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim。

Vim 配置文件分为系统配置文件和用户配置文件:
系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc 命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。

注意,Vim 用户配置文件比系统配置文件的优先级高,换句话说,Vim 启动时,会优先读取 Vim 用户配置文件(位于主目录中的),所以我们只需要修改用户配置文件即可(不建议直接修改系统配置文件)。

Vim 提供的环境配置参数有很多,本节不一一列举,大家可以在 Vim 中输入“:set all”指令来查询。

vim配置通过自己的语法命令来配置,配置在~/.vimrc中即可。

具体命令的含义在网上搜一搜,或者参考链接:
http://www.ruanyifeng.com/blog/2018/09/vimrc.html
http://c.biancheng.net/view/3024.html

这里有一个简单的配置信息,将下面的无注释版放在~/.vimrc中就好了,但是比较简单,具体想要将vim配置比较好一点,可以在网上搜一搜大神的配置文件。

有注释版:

"""""""""""""""""""""""""""""""""
" => 全局配置
"""""""""""""""""""""""""""""""""
" 关闭兼容模式
set nocompatible
" 设置历史记录步数
set history=100
" 开启相关插件
filetype on
filetype plugin on
filetype indent on
" 当文件在外部被修改时,自动更新该文件
set autoread
" 激活鼠标的使用
set mouse=a
"""""""""""""""""""""""""""""""""
" => 字体和颜色
"""""""""""""""""""""""""""""""""
" 开启语法
syntax enable
" 设置字体
set guifont=dejaVu\ Sans\ MONO\ 10
" 设置配色
colorscheme desert
" 高亮显示当前行
set cursorline
hi cursorline guibg=#00ff00
hi CursoColumn guibg=#00ff00
"""""""""""""""""""""""""""""""""
" => 代码折叠功能
"""""""""""""""""""""""""""""""""
" 激活折叠功能
set foldenable
set foldmethod=manual
" 设置折叠区域的宽度
set foldcolumn=0
" 设置折叠层数为3
setlocal foldlevel=3
" 设置为自动关闭折叠
set foldclose=all
" 用空格键来代替zo和zc快捷键实现开关折叠
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
"""""""""""""""""""""""""""""""""
" => 文字处理
"""""""""""""""""""""""""""""""""
" 使用空格来替换Tab
set expandtab
" 设置所有的Tab和缩进为4个空格
set tabstop=4
" 设定 <<>> 命令移动时的宽度为4
set shiftwidth=4
" 使得按退格键时可以一次删掉4个空格
set softtabstop=4
set smarttab
" 缩进,自动缩进(继承前一行的缩进)
set ai
" 智能缩进
set si
" 自动换行
set wrap
" 设置软宽度
set sw=4
"""""""""""""""""""""""""""""""""
" => Vim 界面
"""""""""""""""""""""""""""""""""
" Turn on Wild menu
set wildmenu
" 显示标尺
set ruler
" 设置命令行的高度
set cmdheight=1
" 显示行数
set nu
set lz
" 设置退格
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
" 设置魔术
set magic
" 关闭错误信息响铃
set noerrorbells
" 关闭使用可视响铃代替呼叫
set novisualbell
" 显示匹配的括号
set showmatch
set mat=2
" 搜索时高亮显示搜索到的内容
set hlsearch
" 搜索时不区分大小写
set ignorecase
"""""""""""""""""""""""""""""""""
" => 编码设置
"""""""""""""""""""""""""""""""""
" 设置编码
set encoding=utf-8
" 设置文件编码
set fileencodings=utf-8
" 设置终端编码
set termencoding=utf-8
"""""""""""""""""""""""""""""""""
" => 其他设置
"""""""""""""""""""""""""""""""""
" 开启新行时使用智能自动缩进
set smartindent
set cin
set showmatch
" 隐藏工具栏
set guioptions-=T
" 隐藏菜单栏
set guioptions-=m
" 置空错误铃声的终端代码
set vb t_vb=
" 显示状态栏
set laststatus=2
" 粘贴不换行问题的解决方法
set pastetoggle=<F9>
" 设置背景色
set background=dark
" 设置高亮相关
highlight Search ctermbg=black ctermfg=white guifg=white guibg=black

" 在shell脚本的开头自动增加解释器及作者版本版权信息
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
  if expand("%:e") == 'sh'
    call setline(1, "#!/bin/bash")
    call setline(2, "Author:")
    call setline(3, "eMail:")
    call setline(4, "Time:".strftime("%F %T"))
    call setline(5, "Name:".expand("%"))
    call setline(6, "Version:V1.0")
    call setline(7, "Description:")
  endif
endfunc

无注释版:

set nocompatible
set history=100
filetype on
filetype plugin on
filetype indent on
set autoread
set mouse=a
syntax enable
set guifont=dejaVu\ Sans\ MONO\ 10
colorscheme desert
set cursorline
hi cursorline guibg=#00ff00
hi CursoColumn guibg=#00ff00
set foldenable
set foldmethod=manual
set foldcolumn=0
setlocal foldlevel=3
set foldclose=all
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
set ai
set si
set wrap
set sw=4
set wildmenu
set ruler
set cmdheight=1
set nu
set lz
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
set magic
set noerrorbells
set novisualbell
set showmatch
set mat=2
set hlsearch
set ignorecase
set encoding=utf-8
set fileencodings=utf-8
set termencoding=utf-8
set smartindent
set cin
set showmatch
set guioptions-=T
set guioptions-=m
set vb t_vb=
set laststatus=2
set pastetoggle=<F9>
set background=dark
highlight Search ctermbg=black ctermfg=white guifg=white guibg=black
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
  if expand("%:e") == 'sh'
    call setline(1, "#!/bin/bash")
    call setline(2, "Author:")
    call setline(3, "eMail:")
    call setline(4, "Time:".strftime("%F %T"))
    call setline(5, "Name:".expand("%"))
    call setline(6, "Version:V1.0")
    call setline(7, "Description:")
  endif
endfunc

你可能感兴趣的:(linux,linux,vim)