Vim的一些特殊模式
类别 | 命令 | 作用 |
显示相关 | :set nu | 显示行号 |
| :set nonu | 隐藏行号 |
| :set relativenumber | 显示相对行号 |
| :set norelativenumber | 禁用相对行号 |
| :set cursorline | 高亮当前行 |
| :set nocursorline | 取消高亮当前行 |
| :set cursorcolumn | 高亮当前列 |
| :set nocursorcolumn | 取消高亮当前列 |
| :set wrap | 启用自动换行 |
| :set nowrap | 禁用自动换行 |
| :set list | 显示不可见字符(如空格、制表符) |
| :set nolist | 隐藏不可见字符 |
缩进相关 | :set autoindent | 启用自动缩进,新行与上一行保持相同缩进 |
| :set noautoindent | 禁用自动缩进 |
| :set smartindent | 根据代码结构智能缩进(适用于 C 风格语言) |
| :set nosmartindent | 禁用智能缩进 |
| :set tabstop=n | 设置制表符宽度为 n 个空格 |
| :set shiftwidth=n | 设置 >> 或 << 缩进的宽度为 n 个空格 |
| :set expandtab | 将制表符转换为空格 |
| :set noexpandtab | 保留制表符 |
| :set softtabstop=n | 设置插入模式下按 Tab 键的宽度为 n 个空格 |
| :set textwidth=n | 超过 n 列时自动换行 |
| :set wrapmargin=n | 设置右边距宽度为 n ,接近右边距时自动换行 |
搜索相关 | :set hlsearch | 高亮搜索结果 |
| :set nohlsearch | 禁用搜索结果高亮 |
| :set incsearch | 实时显示搜索结果 |
| :set noincsearch | 禁用实时搜索 |
| :set ignorecase | 搜索时忽略大小写 |
| :set noignorecase | 搜索时区分大小写 |
| :set smartcase | 忽略大小写(除非搜索包含大写字母) |
文件编码 | :set fileencoding=utf-8 | 设置文件编码为 UTF-8 |
| :set fileformat=unix | 设置文件格式为 UNIX(LF 换行符) |
| :set fileformat=dos | 设置文件格式为 DOS(CRLF 换行符) |
| :set bomb | 保存文件时附加 BOM(字节顺序标记) |
| :set nobomb | 保存文件时不附加 BOM |
状态栏与界面 | :set ruler | 显示光标位置(行列号) |
| :set noruler | 禁用光标位置显示 |
| :set showcmd | 显示部分命令输入 |
| :set noshowcmd | 禁用命令输入显示 |
| :set cmdheight=n | 设置命令行高度为 n |
备份与恢复 | :set backup | 启用备份文件 |
| :set nobackup | 禁用备份文件 |
| :set undofile | 启用撤销历史保存 |
| :set noundofile | 禁用撤销历史保存 |
| :set swapfile | 启用交换文件 |
| :set noswapfile | 禁用交换文件 |
鼠标支持 | :set mouse=a | 启用鼠标支持,允许用鼠标选择、滚动等 |
兼容性 | :set nocompatible | 启用 Vim 的高级功能(默认关闭 Vi 兼容模式) |
快捷键配置方法
nnoremap <F2> :set paste<CR>
nnoremap <F3> :set nopaste<CR>