我的vim配置
我的vim配置
前言
在Linux服务器上进行代码的编辑和调试工作,免不了要和vim打交道,而默认的vim配置在使用的过程中总有诸多需求难以满足,因此需要在vimrc文件中适当做一些配置,使得vimrc用起来更加的得心应手,但是为了更好的迁移性,也就是在切换服务器之后能够很快地设置出一个完全一致的vim环境(copy一份vimrc文件过去或手动输入即可),而不是需要联网环境且还要花一些时间再去捣鼓才可以使用,这里的配置文件中不会包含vim插件相关的内容.
配置文件
vim的全局配置一般在/etc/vim/vimrc
或者/etc/vimrc
,对所有用户生效,用户个人的配置在~/.vimrc
,修改此文件即可以对vim进行配置,通过vim ~/.vimrc
打开此文件,并在文件末尾添加一下配置:
"**************************************************
"基本配置
"**************************************************
syntax on "显示语法高亮
set nocompatible "不与vi兼容
set showcmd "命令行模式下,在底部显示当前键入的命令
set showmode "在底部显示当前模式
set t_Co=256 "启用256色
set fileencodings=utf-8,gbk,gbk18030 "打开文件时使用的解码方式
set fileencoding=utf-8 "编辑文件时的编码方式
au BufRead,BufNewFile *.cuf set filetype=fortran "打开cuda fortran文件时用fortran的语法文件定义方式进行高亮
"*************************************************
"缩进
"*************************************************
set expantab "由于Tab键在不同的编辑器中缩进不一致,该设置自动将Tab转为空格
set tabstop=2 "按下tab键时,vim转化的空格数
set softtabstop=2 "文件中的Tab转化为多少个空格
set shiftwidth=2 "在选中文本后按下>>(增加一级缩进),<<(取消一级缩进),==(取消全部缩进)时,每一级的字符数
"**************************************************
"外观
"**************************************************
set number "显示行号
set cursorline "突出显示光标所在行
set nowrap "关闭自动折行
set laststatus=2 "是否显示状态栏,0表示不显示,1表示只在多窗口时显示,2表示显示
set ruler "在状态栏显示光标的当前位置(行,列)
"**************************************************
"搜索
"**************************************************
set showmatch "光标遇到圆括号,方括号,大括号时,自动高亮对应的另一个括号
set hlsearch "搜索时,高亮显示匹配结果
set incsearch "搜索时,每输入一个字符,就自动跳转到第一个匹配的结果
"set ignorecase "搜索时忽略大小写
"**************************************************
"编辑
"**************************************************
set noswapfile "不创建交换文件,交换文件主要用于系统崩溃时恢复文件,交换文件后缀为swp
set undofile "保留撤销历史,这样可以在关闭文件后,仍然保留撤销记录,重新打开后仍然可以撤销,撤销文件后缀为un
set backupdir=~/.vim/.backup// "设置备份文件保存位置
set directory=~/.vim/.swp// "设置交换文件保存位置
set undodir=~/.vim/.undo// "设置操作历史文件的保存位置,结尾的//表示生成的文件名
set autochdir "自动切换工作目录,主要用于在一个vim会话中打开多个文件的情况.
set noerrorbells "出错时不发出响声
set novisualbell "出错时不发出视觉提示,如屏幕闪烁
set foldenable "允许折叠
set foldmethod=marker "使用marker的方法进行折叠
参考
https://www.ruanyifeng.com/blog/2018/09/vimrc.html