《Vim 安装与经典配置》
1. 安装
Linux
sudo apt install vim # Debian/Ubuntu
sudo dnf install vim # Fedora
macOS
brew install vim
验证
vim --version
2. 经典配置
Vim 的配置文件为 ~/.vimrc,下面是常用的经典配置:
" 删除模式允许退格键删除
set backspace=indent,eol,start
" 使用空格代替 Tab 缩进
set expandtab
set ts=4
set softtabstop=4
set shiftwidth=4
set tabstop=4
" 语法高亮
syntax on
" 自动缩进
set autoindent
set cindent
" 文件格式化并加载对应语言的插件
filetype plugin indent on
" 支持中文
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
" 查找与状态栏
set cursorline
set laststatus=2
set hlsearch
set incsearch
set showcmd
set ruler
set statusline=[Line:%l/%L,Column:%c][%p%%]=%F
highlight StatusLine cterm=bold ctermfg=red ctermbg=gray
" 选中文本后按 < 或 > 保持选中并缩进
xnoremap < <gv
xnoremap > >gv
" 保存时自动删除行尾多余空格
autocmd BufWritePre *.js,*.sh,*.c,*.py,*.go,*.lua,*.java,*.scala :%s/\s\+$//e
3. 常用配置项说明
| 配置项 | 作用 |
|---|---|
set nu |
显示行号 |
set paste |
粘贴时不自动缩进(粘贴代码时临时使用) |
set cursorline |
高亮当前行 |
set laststatus=2 |
始终显示状态栏 |
set noexpandtab |
缩进使用 Tab 而非空格 |
set hlsearch |
高亮搜索结果 |
set incsearch |
输入时实时高亮匹配 |
4. 新建文件自动插入文件头
通过 autocmd 监听新建文件事件,根据文件类型自动写入文件头注释:
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if &filetype == 'sh'
call setline(1, "\#!/bin/bash")
call setline(2, "")
call setline(3, "mydir=\"\$\(dirname \"\$\(readlink -f \"\$0\"\)\"\)\"")
call setline(4, "myname=\"$(basename \"$mydir\")\"")
call setline(5, "cd \"$mydir\"")
call setline(6, "")
elseif &filetype == 'python'
call setline(1, "\#coding=utf8")
call setline(2, "\"\"\"")
call setline(3, "\# Author: your-name")
call setline(4, "\# Created Time : ".strftime("%c"))
call setline(5, "")
call setline(6, "\# File Name: ".expand("%"))
call setline(7, "\# Description:")
call setline(8, "")
call setline(9, "\"\"\"")
call setline(10,"")
elseif &filetype == 'java'
call setline(1, "//coding=utf8")
call setline(2, "/*************************************************************************")
call setline(3, "\ @Author: your-name")
call setline(4, "\ @Created Time : ".strftime("%c"))
call setline(5, "")
call setline(6, "\ @File Name: ".expand("%"))
call setline(7, "\ @Description:")
call setline(8, "")
call setline(9, " ************************************************************************/")
call setline(10,"")
endif
endfunc
5. 相关资源
- Vim 官方文档:https://www.vim.org/docs.php
- 社区超强配置
amix/vimrc:https://github.com/amix/vimrc
阅读 —
·
全站 —