centos7下vim的开箱使用与简单配置分享

前言:大家好,我是群里的小满同学,我是通过中国大学MOOC上的《零基础学Linux操作系统》这门课程入门linux的世界的,学习和使用linux一年多,收获了很多。下面来分享一下linux下的vim编辑器的相关内容。

vim是一个很强大的编辑器,被称为编辑器之神,我第一次和vim结缘还是在一台ubuntu的物理机上面,那是我第一次使用这个编辑器,当然初次体验很糟糕😂,我甚至不知道如何退出vim,弄得满头大汗。但是随着自己命令行使用越来越多,自己开始逐渐习惯vim的操作方式,vim成了我每天必定会使用的一个软件,我用它写日记,写代码,做一些文本操作。

我觉得vim最大的魅力就在于它和linux的命令行结合带来的独一无二的流畅体验,没错,在绝大多数情况下甚至不需要去触摸鼠标,手甚至不需要离开主键盘区,就可以使用简洁的命令完成绝大多数的文本编辑工作。

下面,我将从vim的开箱开始,向大家分享如何简单的配置vim,以及如何将配置持久化。阅读本文大约花费3分钟。

登录centos7 虚拟机

相比linux的桌面,我更喜欢朴实无华的终端,在这里使用ssh的方式登录centos7虚拟机。

image-20210916190308713.png

安装vim

这是一台最小化安装的centos7,里面提供了一个vi程序,但是这个程序使用起来不太完整,比如说,它不支持最基本的语法高亮,不支持文本对象等等,所以先安装一下完整的vim,使用命令

sudo yum install vim

稍等片刻,安装好了之后,输入vim,启动程序

image-20210916190757440.png
没有经过任何配置的vim,进入后便会出现上图的提示,从中可以看到我们安装的vim的版本号是7.4.629。这个版本相对来说比较旧了,现在最新的vim是8.2+的版本,在vim8以后,vim加入了许多高级特性,比如异步特性,还实现了内置终端等等。
除了vim8,在vim的发展中,vim家族还增添了一个新的成员,neovim。neovim是基于vim开发的新一代vim,不仅重构了vim的代码,同样支持异步特性,还支持浮动窗口等更新颖的特性。

当然软件并不是越新越好,centos作为一个主打服务器的linux发行版,软件没有提供很高的版本。不必着急,我们先从手上现有的样本开始,因为登高必自卑,行远必自迩,先把vim的核心功能,也就是编辑文本的技巧学习好,再去探索vim的神奇功能,这样更为稳妥。

配置vim

我准备了一段文本,用于接下来的演示,使用cat查看一下,是一段c语言的Hello world

image-20210916192059777.png

使用vim编辑该文件,在终端下输入以下命令便可以进入vim

vim test.c

打开后的样子应该如下图所示:
image-20210916192242582.png

可以看到,vim已经默认打开了语法高亮。在《零基础学Linux操作系统》的vi介绍中,我们学习了一些vim的配置,首先进入底行命令模式,进行相关的配置

set nu "打开行号
set mouse=a "设置响应鼠标
colorscheme pablo "设置配色为pablo

经过一番配置,我们的vim变成了如下所示的模样,并且可以响应鼠标的操作

image-20210916192711378.png

于是我们心满意足的退出了vim,但是当再打开时,发现先前的配置荡然无存,又回到了原先的vim,这是为何呢?😮

其实这是配置没有持久化的问题,vim的配置需要写入配置文件中才能长久生效,原理是在vim启动的时候会一行行加载配置文件,按照配置的内容进行配置。好,既然找到了问题所在,那我们就将配置写入配置文件即可。

vim的配置文件

首先进入vim,输入:version查看vim的信息

image-20210916193401695.png

输出的信息很多,我们只看我们现在需要的,即红框标出来的部分,分别是vim的全局配置文件和用户配置文件,并且告诉了我们它们的位置。这里选择配置用户级别的配置文件进行编辑,在底行使用如下的命令:

:e $HOME/.vimrc 或者 :e ~/.vimrc

配置文件一般不存在,需要我们自行创建,这里我们将先前的配置写入文件中,保存。

image-20210916193805904.png

重启vim或者在底行输入以下命令,便可以使配置生效,实现配置的持久化。

:source ~/.vimrc

常用的配置

下面是日常使用中的一些通用的配置,大家觉得不错的可以拿过去使用,加入.vimrc中即可生效

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set vb t_vb=             "关闭闪烁和响铃
set wrap                 "打开自动折行
set formatoptions+=mM    "设置中文折行
set mouse=a				 "打开鼠标响应
set rnu                  "开启相对行号
set nocompatible         " 设置不兼容原始vi模式
filetype on              " 设置开启文件类型侦测
filetype plugin on       " 设置加载对应文件类型的插件
set noeb                 " 关闭错误的提示
syntax enable            " 开启语法高亮功能
syntax on                " 自动语法高亮
set cmdheight=1          " 设置命令行的高度
set showcmd              " select模式下显示选中的行数
set ruler                " 总是显示光标位置
set laststatus=2         " 总是显示状态栏
set number               " 开启行号显示
set cursorline           " 高亮显示当前行
set whichwrap+=<,>,h,l   " 设置光标键跨行
set ttimeoutlen=0        " 设置<ESC>键响应时间
set virtualedit=block,onemore   " 允许光标出现在最后一个字符的后面
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码缩进和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set autoindent           " 设置自动缩进
set cindent              " 设置使用C/C++语言的自动缩进方式
set cinoptions=g0,:0,N-s,(0    " 设置C/C++语言的具体缩进方式
set smartindent          " 智能的选择对其方式
filetype indent on       " 自适应不同语言的智能缩进
set expandtab            " 将制表符扩展为空格
set tabstop=4            " 设置编辑时制表符占用空格数
set shiftwidth=4         " 设置格式化时制表符占用空格数
set softtabstop=4        " 设置4个空格为制表符
set smarttab             " 在行和段开始处使用制表符
set nowrap               " 禁止折行
set backspace=2          " 使用回车键正常处理indent,eol,start等
set sidescroll=10        " 设置向右滚动字符数
set nofoldenable         " 禁用折叠代码
set splitbelow           " 新窗口出现在下面

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码补全
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set wildmenu             " vim自身命名行模式智能补全
set completeopt-=preview " 补全时不显示窗口,只显示补全列表

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set hlsearch            " 高亮显示搜索结果
set incsearch           " 开启实时搜索功能
set ignorecase          " 搜索时大小写不敏感

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缓存设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup            " 设置不备份
set noswapfile          " 禁止生成临时文件
set autoread            " 文件在vim之外修改过,自动重新读入
set autowrite           " 设置自动保存
set confirm             " 在处理未保存或只读文件的时候,弹出确认

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值