序  

  到百度外卖任职以后,发现在我们部门无论 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. HOJ 2124 &POJ 2663Tri Tiling(动态规划)

    Tri Tiling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9016 Accepted: 4684 Descriptio ...

  2. AIX 7命令行weblogic建域流水

    $ ./config.shUnable to instantiate GUI, defaulting to console mode. <------------------- Fusion M ...

  3. Alpine Linux

    Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux发行版.不同于通常Linux发行版,Alpine Linux采用了musl libc和 ...

  4. Java List <T> T[] toArray(T[] a) implementation

    Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. ...

  5. 如何正确的把 Java 数组 Array 转为列表 List

    最近想把 java 数组转成 List,网上普遍的答案都是 Arrays.asList: String[] a = new String[] {"hello", "wor ...

  6. Bus System(Flody)

    http://acm.hdu.edu.cn/showproblem.php?pid=1690 坑爹的题,必须用__int64 %I64d(以前没用过) 因为这题的数据特别大,所以用-1 #includ ...

  7. PAT Battle Over Cities [未作]

    1013 Battle Over Cities (25)(25 分) It is vitally important to have all the cities connected by highw ...

  8. Java 7代码层面上的更新

    Java 7已经完成的7大新功能:       1 对集合类的语言支持:       2 自动资源管理:       3 改进的通用实例创建类型推断:       4 数字字面量下划线支持:      ...

  9. [LeetCode] 255. Verify Preorder Sequence in Binary Search Tree_Medium tag: Preorder Traversal, tree

    Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ...

  10. CSS选择器可以用数字开头吗

    最好是字母开头,后面用数字可以,直接用数字开头不符合官方规范,虽然浏览器牛逼点也能解析出来,但是最初就不要这么做,坏习惯养成很难改.而且如果团队合作,css的命名都需要有固定的格式,还要有可读性方便他 ...