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学习心得(四) 数据 ...
随机推荐
- 如何取消一个目录的git初始化
一不小心把我的整个home目录都初始化为git仓库了,通过执行删除.git命令,可以恢复 rm -rf .git
- POJ 2676 - Sudoku - [蓝桥杯 数独][DFS]
题目链接:http://poj.org/problem?id=2676 Time Limit: 2000MS Memory Limit: 65536K Description Sudoku is a ...
- HDFS Users Guide
Purpose This document is a starting point for users working with Hadoop Distributed File System (HDF ...
- SQL语句常见视图操作部分试题(一)
创建一个名称为EMPLOYEES_VU的视图,它基于EMPLOYEES表中的雇员号.雇员名和部门号.将雇员名的列标题改为EMPLOYEE. CREATE VIEW EMPLOYEES_VU AS SE ...
- MySQL5.6命令笔记
授权root用户在远程终端访问 ' WITH GRANT OPTION;
- JSON Web Token – 在 Web 应用间安全地传递信息
出处:子回 使用 JWT 令牌和 Spring Security 来实现身份验证 八幅漫画理解使用JSON Web Token设计单点登录系统
- csrf攻击原理及如何防止csrf攻击
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,是一种对网站的恶意利用,通过伪装来自受信任用 ...
- dedecms批量导出新增文章url和标题
百度站长工具推出主动提交功能有一段时间了,可以将新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录.那么dedecms如何批量导出新增文章url呢?你可以用标签调用最新文章,可以用sq ...
- idea 连接数据库
1:如果没有数据库连接插件,下载database插件 settings>plugin>Database Navigator 下载. 2:重启 3:进入 view>tool windo ...
- 输出log到指定文件
0:pom.xml中添加依赖 <!--log4j--> <!--有错误时,可能版本不对,或者依赖没有加全 'org.apache.logging.log4j:log4j-core:2 ...