序  

  到百度外卖任职以后,发现在我们部门无论 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. libmv

    What is libmv? libmv, also known as the Library for Multiview Reconstruction (or LMV), is the comput ...

  2. ZOJ 3948 - Marjar Cola

    让我回想起了小学的时候,空瓶换饮料还能向别人借一个空瓶喝了再还回去的神奇问题…… 开始时思考,特判一下a=1或者b=1的情况为INF就可以了,然后发现2 2 1 2这样的样例也是能够喝到无穷多瓶饮料的 ...

  3. Rhino

    http://shrinksafe.dojotoolkit.org/ a JavaScript interpreter

  4. 大数据智能SOC解决方案

  5. ChinaTest测试感悟

    这次去北京参加ChinaTest大会,听了各位大师和同行的心得和感悟,收获颇多.很喜欢这样的大会,可以听到测试的各种声音各种观点.当没有对错时,需要思考的就是怎样采取最适合当前环境的策略.言归正传,谈 ...

  6. (3.3)mysql基础深入——mysql启动深入分析

    基础:(2.1)学习笔记之mysql基本操作(启动与关闭) 0.mysql启动的 3种方式 (1)mysql.server (2)mysqld_safe (3)mysqld 1.启动分析 [1.1]概 ...

  7. mysql 数据类型 目录

    mysql 数据类型 mysql 整数类型 数值类型 tinyint mysql int 整数类型 解释显示宽度 和 存储宽度 mysql float 浮点型 mysql 日期类型 mysql 字符串 ...

  8. 2017php经典面试题

    1.PHP语言的一大优势是跨平台,什么是跨平台?一.PHP基础: PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows.Linux等)上配置,不 ...

  9. Session实例

    Session常用方法(一) session对象用来保存一些在与每个用户回话期间需要保存的数据信息,这样就方便了回话期间的一些处理程序.如可以用session变量记住用户的用户名,以后就不必在其他的网 ...

  10. iOS 网易彩票-2框架搭建-代码重构

    在上一篇中,我们基本已经把整个框架都搭建出来了,下面进行代码重构一下. 思路: 导航按钮,按下时,会变灰,那是系统自带了,通过自定义UIButton,实现按下按钮立即切换效果. MJTabBarCon ...