我的Vim配置(.vimrc)
安装
yum install vim
Vim配置(.vimrc)
Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此可以通过此文件来定制适合自己的 Vim。
Vim 配置文件分为系统配置文件和用户配置文件:
- 系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
- 用户配置文件位于主目录 ~/.vimrc,即通过执行
vim ~/.vimrc
命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。
注意,Vim 用户配置文件比系统配置文件的优先级高,换句话说,Vim 启动时,会优先读取 Vim 用户配置文件(位于主目录中的),所以我们只需要修改用户配置文件即可(不建议直接修改系统配置文件)。
Vim 提供的环境配置参数有很多,可以在 Vim 中输入“:set all”指令来查询。
以下为个人使用习惯的配置
.vimrc
###################################### 编码配置 #######################################
# fileencoding 选项是 Vim 写入文件时采用的编码类型;
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
# termencoding 选项表示输出到终端时采用的编码类型。
set termencoding=utf-8
# 设置编码格式,encoding 选项用于缓存的文本、寄存器、Vim 脚本文件等;
set encoding=utf-8
# nu是number 的缩写,所以上面两个配置命令是完全等效的,二选一即可。取消行号可使用 set nonu。
#set number
set nu
# 突出显示当前行。
set cursorline
# Vim 编辑器里默认是不启用鼠标的,通过此设置即可启动鼠标。
set mouse=a
set selection=exclusive
set selectmode=mouse,key
# 设置自动缩进,即每行的缩进同上一节相同。
# set autoindent
# 设置Tab键宽度为 4 个空格。
set tabstop=2
# 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set expandtab
# 打开语法高亮
syntax on
# 在底部显示,当前处于命令模式还是插入模式。
set showmode
# 命令模式下,在底部显示,当前键入的指令。比如,键入的指令是2y3d,那么底部就会显示2y3,当键入d的时候,操作完成,显示消失。
set showcmd
# 启用256色。
set t_Co=256
# 自动折行,关闭折行,set nowrap
set wrap
###################################### 搜索配置 #######################################
# 进入搜索模式:Esc / xxx
# 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set showmatch
# 搜索时,高亮显示匹配结果。
set hlsearch
# 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。
set incsearch
# 搜索时忽略大小写。
set ignorecase
###################################### 编辑配置 #######################################
# 不创建备份文件。默认情况下,文件保存时,会额外创建一个备份文件,文件名是在原文件名的末尾,再添加一个波浪号(〜)
set nobackup
# 不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp。
set noswapfile
# 如果行尾有多余的空格(包括 Tab 键),该配置将让这些空格显示成可见的小方块。
set listchars=tab:»■,trail:■
set list
# 命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下 Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令。
set wildmenu
set wildmode=longest:list,full
我的配置脚本:
vim vimrc_config.sh
chmod 777 vimrc_config.sh && ./vimrc_config.sh && rm -rf vimrc_config.sh
#!/usr/bin/bash
set -eu
add_config(){
echo "set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set nu
set cursorline
set selection=exclusive
set selectmode=mouse,key
set tabstop=2
set expandtab
syntax on
set showmode
set showcmd
set t_Co=256
set wrap
set showmatch
set hlsearch
set incsearch
set ignorecase
set nobackup
set noswapfile
set listchars=tab:»■,trail:■
set list
set wildmenu
set wildmode=longest:list,full
" >> .vimrc
}
cd
if [ -f .vimrc ]
then
add_config
else
touch .vimrc
add_config
fi