VIM 使用心得
序
到百度外卖任职以后,发现在我们部门无论 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 使用心得的更多相关文章
- vim学习心得(一)——Cygwin下vim配置
关于Vi有很多传说.其中最为著名的是: “Vi是编辑器之神,Emacs是神的编辑器” Emacs没有用过,但是Vi在Linux经常使用,所以,掌握好vi非常重要!!! Vim(Vi Improved) ...
- Vim使用心得
马上就要联赛啦. 学习一下vim 这是一个vim文档 http://vimcdoc.sourceforge.net/doc/ 这是一个优秀的vimrc配置 http://www.cnblogs.com ...
- Vim使用心得总结
基本快捷键 v 进入可视模式 i / a 光标前/后插入模式 I / A 行首/末插入模式 Crtl+c 进入命令模式 Crtl+v 进入块可视模式 Q 进入EX模式 gh 进入选择模式 u 撤销 U ...
- vim使用心得(持续更新)
!统计符合条件的行数方法1 :g/<匹配条件>/d 查看影响行数,然后按u恢复. !统计符合条件的行数方法2 :let numb=0 :g/<匹配条件>/let numb+ ...
- Vim的学习心得
现在的工作是在unix平台,平时是用UE的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定.下定决心要学学Vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现Vim实 ...
- linux学习心得之vim/Cvim篇
linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...
- 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] -> ...
- Vim使用个人心得
个人最近在Windows上使用gVim 1.移动光标 h,j,k,l 键为左,下,上,右,方向键,控制光标移动,插入状态下不可用,插入状态下,按V键进入查看状态,可使用. 2.进入编辑模式:按 i 键 ...
- 我的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
随机推荐
- ubuntu16.04 下 卸载CUDA9.1
网上很多教程删除都全 安装其他还会出错 在这把它删除,在命令行中输入 sudo apt-get remove cuda sudo apt-get autoclean sudo apt-get rem ...
- POJ 2528 - Mayor's posters - [离散化+区间修改线段树]
题目链接:http://poj.org/problem?id=2528 Time Limit: 1000MS Memory Limit: 65536K Description The citizens ...
- tkinter 提示符
在python3.4中,原来的tkMessageBox变成tkinter.messagebox,使用方式如下: import tkinter.messagebox tkinter.messagebox ...
- C++创建窗口程序初步
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- IDEA 配置环境和相关工具整理(新手入门)
转载自:https://blog.csdn.net/moneyshi/article/details/79722360 因项目环境需要,开发工具需要统一 , 项目团队都使用idea,所以不得已自己也配 ...
- LoadRunner-创建场景
录制完脚本,并调试运行正常后,想要模拟并发进行压力测试,需要创建场景. 1.点击Tools->Create Controller Scenario... 2.选择手工场景,并设置并发用户数.点击 ...
- nodejs(四)file System模块 解决Cross device link错误 EXDEV
var fs = require('fs'); /*cross device link fs.rename('c:\\err.LOG','d:\\err.LOG',function(err){ con ...
- 为帝国cms模板添加站内搜索小教程
由于客户的需要,最近都在整帝国cms,很多东西还是不熟悉,特别是帝国cms模板,以前用的那些网站模板一般是保存在ftp文件中,而帝国cms模板是直接保存在数据库中,修改是在网站后台的模板管理,得慢慢适 ...
- Android应用之——百度地图最新SDK3.0应用,实现最经常使用的标注覆盖物以及弹出窗覆盖物
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/yanglfree/article/details/33333413 一.概述 最新版的百度地图SDK ...
- Git简单入门教程
1.下载Git,360的软件管家里搜 2.安装Git,下载好之后安装到指定路径下 安装方法有多个复选框的把第一个也选上,其他默认直接next,最后一步什么都不选 3.配置用户信息:(右键-->g ...