序  

  到百度外卖任职以后,发现在我们部门无论 mac 还是 windows,程序员们清一色地都在使用 VIM 来编辑代码,期间穿插着各种插件、快捷键、眼花缭乱的命令。我在大学时只会极少的 VIM 命令,到百度以后奋起直追,现在我也能用 VIM 幸福地开发了。

VIM 命令

1.  重复 上次 高亮区  gv

        普通模式命令  .

        Ex命令  @:

        查找  ;(正向)  ,(反向)

2. 普通模式 -> : -> 命令行模式 -> Ex命令

3. 屏幕上滚 <C-e>  屏幕下滚<C-y>

4. netrw 创建目录 d

    创建文件 %

    删除文件/目录 D

    改名 R

5. v    -> 字符  -> 可视模式  -> o  -> 切换高亮选项活动端

V      行

 <C-v>    列块

  以超级用户权限保存文件

:w !sudo tee % > /dev/null

6. 寄存器

"{register} + p | d | c | y  =  寄存器前缀 + 命令

" " 无名寄存器

"0 复制专用寄存器  仅当 y{motion} 时才触发

"a-"z 有名寄存器

<c-r>{register}  插入模式下,插入{register}的内容。

e.g. <c-r>" 插入刚刚复制、删除的内容(无名寄存器)

  <c-r>0 插入刚刚复制的内容(复制专用寄存器)

: reg  Ex命令遍历打印寄存器中内容

 7. 插入原生 tab

在插入模式下输入 <c-v-i>

辅助组件

  ctags

  ctags 是建立索引的工具,能生成用于 vim 自动跳转的索引文件。安装命令如下:

# apt-get install ctags

插件安装

  本质

  从 www.vim.org,github 下载的插件(压缩包/文件夹),把下面的 plugin,autoload,doc 里的内容全部复制到 ~/.vim/ 下面对应的文件夹中(plugin,autoload,doc)。插件(比如 phpcheck.vim)实质是一段 vimscript。

  minibufexpl.vim(缓冲区预览)

  从 https://github.com/fholgado/minibufexpl.vim 上下载;按照 http://www.vim.org/scripts/script.php?script_id=159 的指引进行安装。

  安装步骤:Copy minibufexpl.vim into your plugin directory and add the following to your .vimrc

let g:miniBufExplMapWindowNavVim =
let g:miniBufExplMapWindowNavArrows =
let g:miniBufExplMapCTabSwitchBufs =
let g:miniBufExplModSelTarget =

  neocomplete(代码补全)

sudo apt install -y vim-nox vim-gtk vim-gnome vim-athena

  

  PHP 语法检查

  从 http://www.vim.org/scripts/script.php?script_id=4984 下载,将phpcheck.vim放入vim的plugin目录。

  配置:可配置phpbin的路径,不配置默认使用'php' 。

let g:PHP_SYNTAX_CHECK_BIN = '/usr/local/php7/bin/php' 

   Surround

  Surround.vim is all about "surroundings": parentheses, brackets, quotes, XML tags, and more. The plugin provides mappings to easily delete, change and add such surroundings in pairs.

  从 https://github.com/tpope/vim-surround 或者 http://www.vim.org/scripts/script.php?script_id=1697 下载插件,并按照 manual 进行安装。

配色方案

  Molokai Color Scheme

  这是最接近 sublime text 的一款配色方案。下载地址:http://www.vim.org/scripts/script.php?script_id=2340 或 https://github.com/tomasr/molokai

  安装方法:把 molokai.vim 移动到 ~/.vim/colors 目录下,把如下两行配置加入 ~/.vimrc 中。

set t_Co=
syntax enable let g:molokai_original =
let g:rehash256 =

  部分终端需要在 ~/.bashrc 中加入如下配置。

export TERM=xterm-256color

.vimrc 配置文件

  0.3.5 版本(新增 .*.un~文件统一管理)

syntax on

set nobackup
set noswapfile
set hlsearch
set number
set ruler
set expandtab
set tabstop=
set softtabstop=
set shiftwidth=
set autoindent
set cindent
set smartindent
set mouse=v
set bg=dark
set encoding=utf-
set nobomb
set cursorline
set magic
set confirm
set langmenu=zh_CN.UTF-
set showmatch
set matchtime=
set scrolloff=
set completeopt=longest,menu
set t_Co=
set wildmenu "<tab>自动不全
set wildmode=full "<tab>自动不全 zsh自动不全菜单
set history= "提高命令行历史记录的数目非常有价值
set undofile "un~ 文件统一存放
set undodir=~/.vimundofile colorscheme darkblue cnoremap <C-p> <Up> "命令行模式中 <C-p> 映射为 <Up>
cnoremap <C-n> <Down> "加载插件的最小配置
set nocompatible
filetype plugin on autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o "禁止粘贴时自动注释

VIM 使用心得的更多相关文章

  1. vim学习心得(一)——Cygwin下vim配置

    关于Vi有很多传说.其中最为著名的是: “Vi是编辑器之神,Emacs是神的编辑器” Emacs没有用过,但是Vi在Linux经常使用,所以,掌握好vi非常重要!!! Vim(Vi Improved) ...

  2. Vim使用心得

    马上就要联赛啦. 学习一下vim 这是一个vim文档 http://vimcdoc.sourceforge.net/doc/ 这是一个优秀的vimrc配置 http://www.cnblogs.com ...

  3. Vim使用心得总结

    基本快捷键 v 进入可视模式 i / a 光标前/后插入模式 I / A 行首/末插入模式 Crtl+c 进入命令模式 Crtl+v 进入块可视模式 Q 进入EX模式 gh 进入选择模式 u 撤销 U ...

  4. vim使用心得(持续更新)

    !统计符合条件的行数方法1 :g/<匹配条件>/d 查看影响行数,然后按u恢复.   !统计符合条件的行数方法2 :let numb=0 :g/<匹配条件>/let numb+ ...

  5. Vim的学习心得

    现在的工作是在unix平台,平时是用UE的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定.下定决心要学学Vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现Vim实 ...

  6. linux学习心得之vim/Cvim篇

    linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...

  7. Vim正则通配符使用心得

    目的 实现替换 c f[i][j][k] -> f[k][i][j] f[i + 1][j][k] -> f[k][i + 1][j] f[i + 1][j + NY][k] -> ...

  8. Vim使用个人心得

    个人最近在Windows上使用gVim 1.移动光标 h,j,k,l 键为左,下,上,右,方向键,控制光标移动,插入状态下不可用,插入状态下,按V键进入查看状态,可使用. 2.进入编辑模式:按 i 键 ...

  9. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

随机推荐

  1. Oracle备份恢复之rman备份oracle数据库

    备份需求和rman备份 oracle数据库的备份相关问答: 1)备份时数据库处于何种状态? 备份时数据库处于OPEN状态,这样数据库可以正常工作. 2)备份的数据备份在什么地方? 备份在本地磁盘. 3 ...

  2. php安装redis扩展'checking for igbinary includes... configure: error: Cannot find igbinary.h'解决方法

    今天准备给yii2安装redis扩展,先安装了redis服务,然后安装redis php官方扩展,在make的时候提示' checking for igbinary includes... confi ...

  3. Time Profiler Instrument分析卡顿

    https://www.jianshu.com/p/080108c969e8 启动Time Profile:Xcode ——> Product ——> Profile ——> Tim ...

  4. webView内部跳转后 返回不行了

    if (navigationType == UIWebViewNavigationTypeBackForward) {        return YES;    } 重定向?

  5. OKEX API

    本文介绍OKEX API Rest 开始使用 REST,即Representational State Transfer的缩写,是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方 ...

  6. Catch That Cow--POJ3278

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  7. C++三大特性之封装

    原文地址:https://qunxinghu.github.io/2016/09/12/C++%20%E4%B8%89%E5%A4%A7%E7%89%B9%E6%80%A7%E4%B9%8B%E5%B ...

  8. 使用LinkedList模拟栈数据结构的集合

    封装MyStack类 public class MyStack { private LinkedList link; //调用MyStack创建对象的时候其实是调用的LinkedList创建的是Lin ...

  9. [django]celery_redis探索

    celery+redis能做什么及简单原理 能干嘛: 看这里http://yshblog.com/blog/163 https://segmentfault.com/a/119000001565487 ...

  10. linux命令:压缩解压命令

    压缩解压命令:gzip 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项  [文件] 功能描述:压缩文件 压缩后文件格式:g ...