Vim 使用配置指南

Vim 使用配置指南

    • Vim 基本知识
      • Vim 的不同模式
    • 基本配置
      • 关于折叠的用法
    • 快捷键配置
      • Vim 快捷键基本知识
      • 快捷键配置
    • 插件管理和配置
      • 安装 Vundle
      • Vundle 配置以及基本插件安装
      • 注释插件 tpope/vim-commentary
      • 目录树插件 NerdTree
      • 代码导航插件 Tagbar
        • ctags 安装与使用
      • GIT 文件状态插件 Xuyuanp/nerdtree-git-plugin
    • 代码自动报错提示
    • 总结

Vim 编辑器可以说在程序员届中享有盛誉,其丰富强大的插件和灵活的移动也使得开发起来事半功倍;但是 Vim 复杂的配置和极大的学习成本也让很多人望而生畏。
今天就来整理一下如何配置一个 Vim 开发环境环境。

说明

  1. 本人目前主要从事 PHP 开发工作,如果针对其他语言,可能还需要额外的其他配置

Vim 基本知识

Vim 的不同模式

我们知道 Vim 大概分为普通模式、插入模式、输入模式和可视模式,下面简单介绍一下各个模式的基本知识和区别

  1. 普通模式
    打开文件时的默认模式,无论在哪种模式下,按下Esc键就会进入普通模式。在这个模式下,可以移动光标,删除某个字符,删除某行,复制多行,粘贴多行。

下面是在普通模式下的基本快捷键

j 向上移动一行
k 向下移动一行
h 向左移动一格
k 向右移动一格
x 删除光标后的一个字符
dd 剪切光标所在的那一行,并复制
yy 复制光标所在的行
p 粘贴复制的内容
u 还原上一次的操作
ctr + r 回退上一次的还原操作

Vim 普通模式下的命令还有很多,想要熟练使用 Vim,掌握这些命令是必须的

  1. 插入模式
    在正常模式下按下 i 键,也叫插入模式,插入模式里可以进行文字的输入,在该模式下按Esc键切换到普通模式。
  2. 输入模式
    在正常模式下输入 “:” 或 “/” 进入命令行模式,在该模式下可以进行保存、搜索、替换、退出、显示行号等。

搜索

/word 光标之后查找字符串 word,按 n 向后搜索;
?word 光标之前查找字符串 word,按 n 向前搜索;

替换

:n1,n2/word1/word2/g
将 n1 到 n2 行之间的 word1 替换为 word2,不加g则只替换每行的第一个word1;
:1,$s/word1/word2/g
将文章中的 word1 替换为 word2,不加 g 则只替换每行的第一个word1;

其他

:w 保存文本 ;
:w! 强制保存;在root用户下,文件只读也能保存;
:q 退出vim ;
:q! 强制退出;
:wq 保存并退出;
:set nu 显示行号;
:set nonu 不显示行号;

  1. 可视模式

可视模式是选中一块区域进行操作,包括删除、替换、复制、粘贴、改变大小写等。
在正常模式下按 v(小写)进入字符文本,按 V(大写)进入行文本,按ctrl + v 进入块文本。然后使用上下左右键进行操作选中区域。
对选中的部分使用 d 进行删除,y 进行复制,p 进行粘贴,r 进行文本替换,gu 转换为小写,gU 转换为大写,g~ 大小写互换。

基本配置

Vim 配置文件一般是位于个人 home 下的 .vimrc (~/.vimrc)文件,我们的配置 Vim 也主要是针对这个文件进行修改
下面是 Vim 的一些基础配置

"设置字体
set guifont=Consolas:h12:cANSI

"设置搜索高亮 ,取消请使用set nohlsearch
set hlsearch

" 关闭 .swp 文件
set noswapfile

" 显示行号;取消显示可输入 set nonu
set number 

" 突出显示当前行
set cursorline

"去掉讨厌的有关 vim 一致性模式,避免以前版本的一些 bug 和局限.
set nocompatible

"否则无法使用退格键
set backspace=indent,eol,start

"开启语法高亮
syntax on

"设置命令历史记录为10条.
set history=100

"设置替换 tab 键 [缩进]
set expandtab

"设置 tab 键为4个空格.
set tabstop=4
set softtabstop=4

"设置当行之间交错时使用4个空格
set shiftwidth=4

"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set showmatch

"搜索选项.(比如,键入"/bo",光标自动找到第一个"bo"所在的位置.)
set noincsearch

"字符集
set fileencodings=ucs-bom,utf-8,chinese,cp936

"颜色方案
colorscheme   desert
"colorscheme  peachpuff
"colorscheme  molokai
"colorscheme  ron
"colorscheme  default
"colorscheme  delek

"依据上面的对起格式,智能的选择对起方式,对于类似C语言编.
"set smartindent
"自动缩进
"set autoindent
"C风格缩进
set cindent

"设置文件类型
set filetype=php
"set filetype=go
"set filetype=html

" 用空格键来开关代码折叠
set foldenable
" 手动折叠代码
" set foldmethod=manual
" 按缩进自动折叠代码
" set foldmethod=indent
" 按语法高亮折叠代码
" set foldmethod=syntax
" 按标记折叠代码
set foldmethod=marker

" 设置替换输入,比如通过一下配置,可以通过输入 w3c + 回车,输入后面 HTML 基本模板内容
ab w3c o1        kO

关于折叠的用法

我们看到 Vim 里面有常用的几个折叠方法,我们来主要介绍一下默认的 manual 折叠方法和 marker 折叠方法

  • manual 手动折叠,并且关闭 Vim 后所有的折叠都会消失
  • marker 标记折叠,按照标记进行折叠,关闭 Vim 后折叠并不会消失(推荐使用)

标记折叠方法使用

  1. 跳转到你要折叠的起始位置
  2. 在普通模式下输入 zf
  3. 跳转到你要折叠的结束位置
  4. 从你要折叠的起始位置到结束位置已经折叠并且标记起来了,并且下次用 Vim 打开文件,折叠依然存在

折叠常用命令
以下折叠的命令均在普通模式下输入

  1. zR 打开所有折叠
  2. zM 关闭所有折叠
  3. zE 删除所有的折叠标签

快捷键配置

快捷键映射是 Vim 的强大功能,下面我们就来看一下 Vim 快捷键映射的相关配置

Vim 快捷键基本知识

  1. Vim 快捷键又叫键盘映射,一般会在用户字自定义快捷键前加一个前置输入,这样可以避免和 Vim 自身的快捷键相互冲突
  2. Vim 设置快捷键有 map、nmap、imap、vmap 等命令,这些都是什么意思呢?

nore 表示非递归。
n 表示在普通模式下生效。
v 表示在可视模式下生效。
i 表示在插入模式下生效。

各个命令生效的模式如下表所示

Command 命令 Normal 常规模式 Visual 可视化模式 Insert Only 插入模式 Command Line命令行模式
map yes yes
map! yes yes
nmap yes
vmap yes
imap yes
cmap yes

快捷键配置

"设置用户快捷键的前置输入为 ,
let mapleader = ","

"定义 mm返回最新修改的位置
map mm '.zz

"退出插入模式
imap q 

"F9定义函数和类的注释 文件位置
"下载php-doc.vim  放到  ~/.vim/plugin/php-doc.vim"
inoremap  :call PhpDocSingle()
nnoremap  :call PhpDocSingle()
vnoremap  :call PhpDocRange()

"设置行号
map 1 :set nu

"取消设置行号
map 2 :set nonu

"插入HTML注释
map 3 O
                    

你可能感兴趣的:(nerdtree,tagbar)