自定义 vim
安装 插件管理器
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
$ curl --socks5-hostname 127.0.0.1:19996 -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
$ vim /etc/vimrc
在vimrc文件头插入类容
call plug#begin('~/.vim/plugged')
Plug 'mattn/emmet-vim' "插件名安装
Plug 'file:///home/gmarik/path/to/plugin' “ 本地安装
Plug 'git://git.wincent.com/command-t.git' " 插件github地址安装
call plug#end()
- :PlugInstall 安装
vim配置
通过下面的命令可以找到它的位置:
:scriptnames
例如,象这样去编辑该文件:
:edit ~/.vimrc
接下来你就可以在里面添加你自己的命令设置了,就象你在 Vim 里进行设置时所用的命令一样 。 如:
Go:set hlsearch<Esc>
"G"命令先移动到文件末尾 。 "o"另辟一行进行编辑,在该行上键入你的":set"命令 。 然后用<Esc>来退出插入模式 。 最后保存文件:
ZZ
:set autowrite
:set filetype=javascript 手工指定该文件的类型
/usr/share/vim/vim80/syntax 目录下代表支持高亮的文件类型
\cmder\vendor\git-for-windows\usr\share\vim\vim80\syntax 他在这里可以找到
set iskeyword& 在最后添加&让这个配置恢复其默认值,关键命令
/etc/vimrc 文件配置:
call plug#begin('~/.vim/plugged')
Plug 'https://github.com/adelarsq/vim-matchit.git'
Plug 'https://github.com/vim-scripts/AutoComplPop.git'
Plug 'https://github.com/vim-airline/vim-airline.git'
call plug#end()
...
" =============================================================================
" 1. 基础设置 (General Settings)
" =============================================================================
set nocompatible " 不兼容 vi 模式
set exrc " 允许读取当前目录下的 .vimrc
set secure " 安全检查,防止 exrc 执行不安全指令
set encoding=utf-8 " 内部编码
set fileencodings=utf-8 " 文件读取编码
set ff=unix " 文件格式
set clipboard=unnamed " 访问系统剪贴板
set backspace=indent,eol,start " 让退格键更直观
set backspace=2 " 确保退格键在所有情况下生效
" =============================================================================
" 2. 界面显示 (Display Settings)
" =============================================================================
syntax on " 开启语法高亮
set nu rnu " 同时开启行号和相对行号 (Hybrid Mode)
set cursorline " 高亮光标所在行
set wrap " 不自动换行
" 如果前面有计数(如 5j),则走原生的 j;否则走 gj
nnoremap <expr> j (v:count == 0 ? 'gj' : 'j')
nnoremap <expr> k (v:count == 0 ? 'gk' : 'k')
vnoremap <expr> j (v:count == 0 ? 'gj' : 'j')
vnoremap <expr> k (v:count == 0 ? 'gk' : 'k')
set ruler " 显示光标位置
set laststatus=2 " 始终显示状态栏
set background=dark " 适配深色背景
set showmode " 显示当前模式 (--INSERT-- 等)
set wildmode=list:longest,longest:full " 增强命令行补全
set visualbell t_vb= " 关闭错误提示音
set novisualbell " 关闭视觉闪烁
set whichwrap=b,s,<,>,[,],l,h " 指定按键可以跨行移动
" =============================================================================
" 3. 缩进与搜索 (Indent & Search)
" =============================================================================
set ai " 自动缩进
set tabstop=2 " Tab 宽度
set softtabstop=2 " 编辑模式下 Tab 宽度
set shiftwidth=2 " 缩进宽度 (原配置有 1 和 2,建议用 2)
set ignorecase " 搜索忽略大小写
set wildignore+=.*/,*/node_modules/*,*/dist/*,*/build/*,*/logs/* " 忽略不必要的文件
" =============================================================================
" 4. 快捷键映射 (Key Mappings)
" =============================================================================
" 标签页与搜索结果跳转
nnoremap gr gT
nnoremap n nzz
nnoremap b Nzz
nnoremap fn :cn<CR>
nnoremap fb :cN<CR>
" 快速保存与退出
nnoremap <C-s> :wa<CR>
inoremap <C-s> <Esc>:wa<CR>
nnoremap <C-q> :q<CR>
inoremap <C-q> <Esc>:q<CR>
" 功能开关切换
nnoremap <silent> <C-n> :set number! relativenumber!<CR>
nnoremap <silent> <C-p> :set paste!<CR>
nnoremap <silent> <C-h> :set hlsearch!<CR>
" 进阶搜索与替换 (使用 vimgrep 和替换模式)
vnoremap <C-v> y:<C-u>vim /<C-r>"/g **/*
nnoremap <C-v> yiw:<C-u>vim /<C-r>"/g **/*
vnoremap <C-f> y/<C-r>"<CR>
nnoremap <C-f> yiw/<C-r>"<CR>
vnoremap <C-g> y:%s/<C-r>"/<C-r>"/gc
nnoremap <C-g> yiw:%s/<C-r>"/<C-r>"/gc
假如你不知道 set autowrite 有什么用,可以执行 :help autowrite 查看帮助
See alse:

浙公网安备 33010602011771号