vim无插件配置

1.写在前面

vim是unix下一款非常强大的文本编辑器。vim本身支持很多个性化的配置,根据自身需求,合理的配置vim,能够很好的提高开发效率。本文介绍vim下无插件的常用配置。配置vim有一个非常重要的原则就是:不要将你不明白的配置项写到配置文件中。

2.准备环境

如果你的机器上没有安装vim的话,需要先安装vim,通常可以用系统相关的包管理功能进行安装,如centos下使用yum安装。但使用包管理工具安装默认的包源的vim版本可能比较低,推荐使用源码方式安装:

git clone https://github.com/vim/vim.git

源代码clone下来后,src/INSTALL文档中有非常详细的安装说明文档,根据自己的系统环境按步骤安装即可。

3.基础知识

3.1.配置文件

vim是通过vimrc配置文件进行配置的,全局配置一般在/etc/vim/vimrc或者/etc/vimrc,对所有用户生效。用户个人的配置在/.vimrc。对我们来讲,通常在/.vimrc进行配置就行了。

除了在配置中进行配置外,在vim编辑过程中,可以在命令模式下,直接输入配置命令,即对当前编辑的文件生效,如显示行号:

:set number

3.2注释

vimrc文件支持注释,"后面的内容为注释,如:

" 显示行号
set number
syntax on " 打开语法高亮

3.3查看帮忙文档

vim有非常详细的帮忙文档,在编辑过程中,你可以通过F1:help快捷键呼出帮忙文档,也可以对某个配置项查看其配置说明,如:help showmatch

3.4配置惯用法

配置项一般都有"打开"和"关闭"两个设置。"关闭"就是在"打开"前面加上前缀"no"。如显示等号为set number,关闭就为set nonumber,大部分配置都有简写,如显示等号可以简写为set nu,关闭就为set nonu

4.常用配置

" ======================================
" 基本配置
" ======================================

" 不兼容vi命令
set nocompatible

" 打开语法高亮
syntax on

” 开启文件类型检查,并且载入与该类型对应的缩进规则。
filetype indent on

" 在底部状态栏显示当前模式,如插入、命令模式
set showmode

" 在命令模式下显示当前命令,如输入2y时,会在状态栏显示命令,再次输入y时,执行命令,状态栏命令消失
set showcmd

" 是否显示状态栏。0表示不显示,1表示只在多窗口时显示,2表示显示。
set laststatus=2

" 在状态栏显示光标的当前位置
set  ruler

" 支持鼠标
set mouse=a

" 当前文本使用uf8编码
set encoding=utf-8  

" 保留命令的历史记录数
set history=1000

" 显示行号
set number

" 光标所在的当前行高亮
set cursorline

" 设置行宽,即一行显示多少个字符
set textwidth=100

" 自动折行,即太长的行分成几行显示,关闭自动折行为set nowrap
set wrap

" 只有遇到指定的符号(比如空格、连词号和其他标点符号),才发生折行。也就是说,不会在单词内部折行
set linebreak

" 垂直滚动时,光标距离顶部/底部的位置(单位:行)
set scrolloff=5

" 水平滚动时,光标距离行首或行尾的位置(单位:字符)。该配置在不折行时比较有用。
set sidescrolloff=10


" ======================================
" 缩进相关配置
" ======================================

" 按下tab时显示的空格数
set tabstop=4

" tab转化为多少个空格
set softtabstop=4

" 执行移位操作`>>或<<`时,显示的空格数
set shiftwidth=4

" 由于 tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格
set expandtab

" 自动缩略,当按下回车时,自动与上一行的缩进保持一致
set autoindent


" ======================================
" 搜索相关配置
" ======================================

" 光标遇到{[()]}时,会高亮显示另一半匹配的符号
set showmatch

" 高亮显示搜索的词
set hlsearch

" 增量搜索匹配结果,即每输入一个字母都会进行匹配
set incsearch

" 搜索时忽略大小写
set ignorecase

" 如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感;其他情况都是大小写不敏感
set smartcase


" ======================================
" 编辑相关配置
" ======================================
" 不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp
set noswapfile

" 自动切换工作目录。这主要用在一个 Vim 会话之中打开多个文件的情况,默认的工作目录是打开的第一个文件的目录。该配置可以将工作目录自动切换到,正在编辑的文件的目录。
set autochdir

" 出错时,不要发出响声
set noerrorbells

" 出错时,发出视觉提示,通常是屏幕闪烁
set visualbell

" 打开文件监视。如果在编辑过程中文件发生外部改变,就会发出提示。
set autoread

" 命令模式下,底部操作指令按下 Tab 键自动补全
set wildmenu

5.更多参考

1.http://www.ruanyifeng.com/blog/2018/09/vimrc.html
2.https://dougblack.io/words/a-good-vimrc.html
3.http://vimdoc.sourceforge.net/htmldoc/options.html
4.https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim

你可能感兴趣的:(vim无插件配置)