xiaoyh 的个人博客

一个只会敲代码的咸鱼

0%

vim 配置

自从来字节后好久没学习过了,从今天开始要开始学习了。

因为想要配置服务器,所以记录下 vim 编辑器的配置

“ vim 是什么

vim 是一种命令行式的编辑器,因为 Linux 操作系统一般都是纯命令行的界面,所以 vim 在 Linux 上用的比较多。因为它有很多强大的功能,深受码农们的喜爱。

“ 如何下载

根据我配置服务器的经验,一般 Linux 只有 vi 编辑器,vim 需要专门去下载。不同的 Linux 发行版有不同的下载方式:

  • centos : yum -y install vim
  • ubuntu : sudo apt-get install vim

“ 如何使用

通过 vim file 命令即可直接通过 vim 打开指定文件

在刚打开文件时 vim 处于普通模式,也是 vim 编辑器的默认模式。在这个模式下输入的所有内容都会被 vim 解析成相应的指令并执行。比如 ^ 移动到行首、$ 移到到行尾、向上翻页用 ctrl+b,向下用 ctrl+fdd 删除当前行等

如果要输入内容,需要按 iao 进入插入模式,进入插入模式后按 ESC 可以退回普通模式。

普通模式可以通过键入 : 进入命令行模式,在命令行模式中可以输入会被解释成并执行的文本,比如保存退出 :wq ,不保存退出 :q

“ 配置

vim 的全局配置一般在 /etc/vim/vimrc 或者/etc/vimrc,对所有用户生效。用户个人的配置在 ~/.vimrc

可以打开 ~/.vimrc 输入以下配置保存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
" 显示行号
set number
" Tab键的宽度为 4
set tabstop=4
" 统一缩进为 4
set softtabstop=4
" 禁止生成 swap 恢复文件
" 早期计算机经常崩溃,vim 会自动创建一个 .swp 结尾的文件
" 崩溃重启后可以从 .swap 文件恢复
" 现在计算机鲜少崩溃了,可以禁用此功能
set noswapfile
" vim 内部使用的编码,默认使用 latin1,改成通用的 utf8 编码,避免乱码
set encoding=utf-8
" 文件编码探测列表
" vim 启动的时候会依次使用本配置中的编码对文件内容进行解码
" 如果遇到解码失败,则尝试使用下一个编码
" 常见的乱码基本都是 windows 下的 gb2312, gbk, gb18030 等编码导致的
" 所以探测一下 utf8 和 gbk 足以应付大多数情况了
set fileencodings=utf-8,gb18030
" 在插入模式按回车时 vim 会自动根据上一行的缩进级别缩进
set autoindent
" 修正 vim 删除/退格键行为
" 原生的 vim 行为有点怪:
" 如果你在一行的开头切换到插入模式,这时按退格无法退到上一行
" 如果你在一行的某一列切换到插入模式,这时按退格无法退删除这一列之前的字符
" 如果你开启了 autoindent,按回车时 vim 会根据上一行自动缩进,这时按退格无法删除缩进字符
" 通过设置 eol, start 和 indent 可以修正上述行为
set backspace=eol,start,indent
" vim 默认使用单行显示状态,但有些插件需要使用双行展示,不妨直接设成 2
set laststatus=2
" 高亮第 80 列,推荐
set colorcolumn=80
" 高亮光标所在行,推荐
set cursorline
" 显示窗口比较小的时候折行展示,不然需要水平翻页,推荐
set linebreak
" 开启语法高亮
syntax on
" 开启自动识别文件类型,并根据文件类型加载不同的插件和缩进规则
filetype plugin indent on