发布于 更新于
AI总结: 本文介绍了一个通用的.vimrc配置,旨在解决服务器上Vim的中文乱码问题以及将Tab转换为空格的需求。配置内容包括基本设置、编码设置、Tab和缩进设置、显示设置、搜索设置、其他实用设置、键映射以及保存和退出的快捷方式。
优化建议:
1. 考虑在编码设置中添加对其他常见编码格式的支持,以便于处理不同来源的文件。
2. 在搜索设置中,可以添加set nowrapscan以防止搜索到文件开头或结尾时自动循环,提升搜索体验。
3. 在显示设置中,可以考虑启用相对行号,以便于在代码编辑时更好地进行行间跳转。
4. 针对键映射部分,可以将常用命令的映射进行分类,增加注释以提高可读性。
5. 考虑在配置中加入插件管理器的配置,以便于后续扩展功能。
主要用来解决服务器上vim中文乱码, 以及tab转空格问题
" 基本设置
set nocompatible " 关闭 Vi 兼容模式,使用 Vim 增强功能
filetype on " 启用文件类型检测
filetype plugin on " 启用文件类型插件
filetype indent on " 启用文件类型缩进
" 编码设置(支持中文)
set encoding=utf-8 " Vim 内部使用 UTF-8
set fileencoding=utf-8 " 默认保存为 UTF-8
set fileencodings=utf-8,gbk,gb2312,cp936 " 自动识别编码
set termencoding=utf-8 " 终端编码
" Tab 和缩进设置
set tabstop=4 " Tab 显示为 4 个空格宽度
set shiftwidth=4 " 自动缩进宽度为 4 个空格
set expandtab " 将 Tab 转换为空格
set smarttab " 根据 shiftwidth 插入空格
set softtabstop=4 " 按 Tab 键时插入 4 个空格
set autoindent " 自动缩进
set smartindent " 智能缩进
" 显示设置
set number " 显示行号
" set relativenumber " 显示相对行号
" set cursorline " 高亮当前行
set showcmd " 显示输入的命令
set ruler " 显示光标位置
set wrap " 自动换行
set linebreak " 在单词边界换行
" 搜索设置
set hlsearch " 高亮搜索结果
set incsearch " 增量搜索
set ignorecase " 搜索时忽略大小写
set smartcase " 智能大小写(配合 ignorecase)
" 其他实用设置
set backspace=indent,eol,start " 允许退格键删除缩进、换行符等
set wildmenu " 命令补全增强
" set mouse=a " 启用鼠标支持
set clipboard=unnamedplus " 使用系统剪贴板(需 Vim 支持 +clipboard)
" 键映射
nnoremap <Tab> >> " Normal 模式下 Tab 增加缩进
nnoremap <S-Tab> << " Normal 模式下 Shift+Tab 减少缩进
inoremap <S-Tab> <C-d> " Insert 模式下 Shift+Tab 减少缩进
" 取消高亮搜索结果
nnoremap <leader>/ :nohlsearch<CR>
" 默认 leader 键是 '\', 可根据需要调整
let mapleader = "," " 将 leader 键改为 ','
" 保存和退出
nnoremap <leader>w :w<CR> " 快速保存
nnoremap <leader>q :q<CR> " 快速退出