自定义 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:

posted @ 2018-05-12 11:39  Ajanuw  阅读(457)  评论(0)    收藏  举报