10分钟学会Vim配置(Vim配置教程)
Vim是最重要的编辑器之一,主要优势是:
- 您可以完全使用键盘来操作而不是使用鼠标。
- 系统资源很小,因此很容易打开大文件。
- 键盘命令成为你的肌肉记忆后,操作速度将非常快。
- 默认情况下,服务器都安装Vi或Vim。
但是,Vim的配置并不容易,因为它有自己的语法,并且有很多命令。所以我总结了主要配置项的列表。
1.基础知识
一般情况下,Vim的全局配置是/etc/vim/vimrc
或/etc/vimrc
,并且对所有用户有效。用户的个人配置在~/.vimrc
。
如果要为单个编辑启用配置项,可以在命令模式下键入冒号后输入配置。例如,set number
可以在内部写入配置,也可以.vimrc
在命令模式下输入配置。
:set number
通常,配置项有两个设置:"on"和"off"。您只需在设置中添加前缀"no"即可将"on"变为"off"。
" On
set number
" Off
set nonumber
在上面的代码中,如果行以双引号开头,则为注释。
要查询配置项是打开还是关闭,可以在命令模式下输入配置,并在其后面加上问号。
:set number?
上面的命令将返回number
或nonumber
。
如果要查看帮助,可以使用该help
命令。
:help number
2.基本配置
set nocompatible
它与 Vi
不兼容(您需要使用 Vim
自己的操作命令)。
syntax on
它将启用语法突出显示。它可以自动识别代码,并以多种颜色显示。
set showmode
它将在底部显示当前是处于命令模式还是插入模式。
set showcmd
当前键入的命令将显示在命令模式下的底部。例如,如果键入命令2y3d
,它将显示2y3
在底部。当您键入时d
,操作将完成,显示将消失。
set mouse=a
您可以使用鼠标。
set encoding=utf-8
它支持使用utf-8编码。
set t_Co=256
它将启用256种颜色。
filetype indent on
它将启用文件类型检查并加载与此类型对应的缩进规则。例如,如果您正在编辑.py
文件,Vim将为您查找Python的缩进规则~/.vim/indent/python.vim
。
3.缩进
set autoindent
按Enter键后,下一行的缩进将自动与前一行的缩进保持一致。
set tabstop=2
按下Tab键时Vim将显示的空格数。
set shiftwidth=4
当您按下>>
(增加一个缩进级别),<<
(取消一级缩进)或==
(取消所有缩进)文本时,它用于指示每个级别中的字符数。
set expandtab
此设置将Tab自动转换为空格,因为Tab键在不同的编辑器中不一致。
set softtabstop=2
它用于指示Tab将被转换为多少个空格。
4.外观
set number
它用于显示行号。
set relativenumber
它用于显示光标所在的当前行的行号。所有其他行将是相对于该行的相对行号。
set cursorline
将突出显示光标所在的当前行。
set textwidth=80
它用于设置线宽以指示将在一行中显示多少个字符。
set wrap
它将自动换行,这意味着太长的行将被分成几行。
set nowrap
它将关闭一个自动换行。
set linebreak
仅当遇到指定的符号(例如空格,连字符或其他符号)时才会发生换行。换句话说,它不会出现在一个单词中。
set wrapmargin=2
它用于指定在编辑窗口的换行符和右边缘之间腾出的字符数。
set scrolloff=5
它将指示从光标到顶部/底部的距离(单位:行)垂直滚动时。
set sidescrolloff=15
它将指示从光标到行的开头或结尾的距离(单位:字符)水平滚动时。在不进行换行时,此配置将非常有用。
set laststatus=2
它用于指示是否显示状态栏。0表示无显示,1表示仅在多窗口中显示,2表示显示状态栏。
set ruler
光标的当前位置(在哪一行和哪一列)将显示在状态栏中。
5.搜索
set showmatch
当光标遇到一个括号,方括号和大括号时,其他对应的括号,方括号和大括号将自动突出显示。
set hlsearch
搜索时突出显示匹配项。
set incsearch
每次输入一个字符时,它都会自动跳转到第一个匹配的结果。
set ignorecase
搜索时将忽略大小写。
set smartcase
如果ignorecase
同时打开,则只对一个大写字母的搜索词区分大小写; 否则,它将不区分大小写。例如,搜索时Test
,它将不匹配test
; 但在搜索时test
,它会匹配Test
。
6.编辑
set spell spelllang=en_us
它将打开英语单词的拼写检查。
set nobackup
它不会创建备份文件。但是,在保存文件时,默认情况下会创建一个额外的备份文件,其文件名是在原始文件名的末尾添加波浪号(〜)。
set noswapfile
它用于表示它不会创建交换文件。交换文件主要用于在系统崩溃时恢复文件。文件名以.
,以及以...结尾.swp
。
set undofile
保留取消历史记录。
Vim
将在编辑时保存操作历史记录,可用于撤消更改。默认情况下,操作日志仅对其编辑有效。编辑完成并关闭文件后,操作历史记录将消失。
如果启用该设置,操作记录将保留在文件中,并在文件关闭后继续存在。这意味着您可以通过重新打开文件来撤消上一次操作。撤消文件是与原始文件一起保存的隐藏文件,其文件名以.un~
。
set backupdir=~/.vim/.backup//
set directory=~/.vim/.swp//
set undodir=~/.vim/.undo//
设置备份文件,交换文件和操作历史文件的保存位置。
结尾//
表示生成的文件名具有绝对路径,目录分隔符%
在路径中替换,用于防止重命名文件。
set autochdir
自动切换工作目录。这主要用于在Vim会话中打开多个文件的情况。默认工作目录是打开的第一个文件的目录。配置将自动将工作目录切换到正在编辑的文件的目录。
set noerrorbells
发生错误时不要发出任何噪音。
set visualbell
发生错误时,将给出视觉提示,通常是屏幕闪烁。
set history=1000
它用于表示Vim需要记住多少历史操作。
set autoread
打开文件监控。如果在编辑期间文件发生了外部更改(例如由另一个编辑器编辑),则会给出提示。
set wildmenu
set wildmode=longest:list,full
在命令模式下,按Tab键键将自动完成底层操作说明。第一次按Tab键时,将显示所有匹配的操作说明列表; 第二次按Tab键时,将依次选择每条指令。
译文地址:https://www.tutorialdocs.com/article/vim-configuration.html