Skill of vim
用vim也有一段时间了,谨以此记下一些有意思的技巧。
- 跳转
- hjkl,左下右上。
- b/e跳转到上/下一个单词
- ^/$跳转到行头/尾
- 从{,[,(,相应的},],)相互跳转。能够用%
- 跳转到局部变量的定义gd,跳转到全局变量的定义gD
- 跳转到上一个改动过的地方 g; 注意是g+分号
- 跳转到下一个改动过的地方 g, 注意是g+逗号
- :N ,跳转到N行
- 匹配的符号('', "", (), {}, [], <>)操作
- ci?,di?,yi?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容。不包含?
- ca?,da?,ya?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容,包含?
- 举个样例,删除()的内容不包含括号,仅仅须要di?
- 复制一个字符串"abcde",仅仅须要光标移到当中,ya"
- 缩进代码
- 自己主动缩进 =,假设从头到尾缩进就是gg=G
- 指定区域缩进 >,< ,能够配合可视模式,C-v进入批量操作缩进。
- 折叠函数
- 移动到{,zf%。
- 折叠还能够zfN,这样就能够折叠N行
- 打开折叠,zo
- 实用的替换
- 最基础的替换 :A,Bs/X/Y/g ,从A行到B行,将X替换成Y,没有g仅仅替换每行的第一个。
- 全局替换: %s/X/Y/g
- 删除仅仅有另个以上空格的空行 :g/^\s*$/d
- 删除行尾的空格 :%s= *$==
- 批量凝视
- Ctrl-v 进入可视模式。之后I(shift I),插入凝视符。再按Esc(基本功)
- 从A到B行最左边增加凝视 :A,Bs/^/#/ (python,php,shell等等),可是。凝视都插在最左边
- 从A到B行第一非空字符前插入凝视 :
- %s/([^ ]+)/#\1/
- :%s/[[:graph:]]\@=/#
- 搜索
- 自光标向前搜索 /pattern
- 自光标向下搜索 ?pattern
- 仅搜索行首,/^pattern,或者行尾/pattern$
- 自光标向前搜索光标所在单词 #
- 自光标向后索索光标所在单词 *
- 另外。搜索的。跳转到前一个N,下一个n。
- 关闭高亮是 :noh
- 好用的多标签
- 开启多标签 tabe 文件名称字
- 移动到下一个tab,gt或者:tabn
- 移动到上一个tab,gT或者:tabp
- 移动到第n个标签, n gt ,注意n gt间要由空格
- 关闭标签 tabc,用退出也能够
- 另外多窗也是非常好用的在启动时候 vim -O2 file1 file2 ,注意是字母O,不是数字
- 有趣的计算器
- 在插入模式时候,按Ctrl r =,输入表达式,就会在光标上出现了。
- 推荐一些有趣的站点
- 配置插件的好站点: http://vimawesome.com/
- 一个入门,练习操作的好站点: http://www.openvim.com/
- 很多其它的待补充
Skill of vim的更多相关文章
- VIM HML
D:\skill\Apps\Vim\vim80\defaults.vim "set scrolloff=5 设置为默认值0即可
- [skill] vim 操作多个window
前言: 分辨率越来越高,屏幕越来越大,行最长80不变,屏幕利用空白越来越大. 开多个window吧! 开window的命令: 平行开一个window:split <//path/file> ...
- [skill][vim] 常用技巧与配置
一: 光标行列高亮 可以使用 :help highlight 查看相信帮助可颜色配置. set cursorline set cursorcolumn highlight Cursorline ct ...
- Java Software Engineer Skill Map
# Java Software Engineer Skill Map## Basic### Core Java- Java The Complete Reference Ninth Edition.p ...
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
随机推荐
- MVP模式入门(结合Rxjava,Retrofit)
本文MVP的sample实现效果: github地址:https://github.com/xurui1995/MvpSample 老规矩,在说对MVP模式的理解之前还是要再谈谈MVC模式,了解了MV ...
- git pull 、git fetch、 git clone
git clone 代表从远程克隆过来包括所有的版本信息 git fetch是从远程获取最新的版本 git pull相当于 git fetch 然后再git merge
- WP8 学习笔记(001_环境配置)
Step 1 WP8 的开发要求64位操作系统,Windows 8及以上版本,需要激活版,建议网上买一个注册码.详见安装双系统. Step 2 安装好系统并已经激活之后,需要安装Windows Ph ...
- Swift学习笔记(2)--元组(Tuples)、Optional(可选值)、(Assertions)断言
1.Tuples(元组) 元组是多个值组合而成的复合值.元组中的值可以是任意类型,而且每一个元素的类型可以是不同的. 1>定义:使用()包含所有元素,用逗号分开,也可以对每个元素做命名 let ...
- MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】
[本篇文章主要解决的是,MySQL事务创建之后,没有运行的问题] 首先从这里开始:http://www.w3schools.in/mysql/event-schedule/,创建了基本的MySQL事务 ...
- C++ Primer笔记12_运算符重载_递增递减运算符_成员訪问运算符
1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.可是由于他们改变的正好是所操作对象的状态.所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本号,因此.我们应该 ...
- Hbuilder开发app实战-识岁06-face++的js实现【完结】
前言 因为识岁app比較简单.所以这节就完结吧, 当然另一些能够优化完好的地方,可是个人兴趣不是非常大, 有想继续完好的,源代码在这里:https://github.com/uikoo9/shisui ...
- iOS8 对开发人员来说意味着什么?
今天凌晨.Apple WWDC2014 iOS8 正式推出. 或许,对于广大iOS用户来说,iOS8的创新并非特别多. 但对于开发人员来说,影响却将会是无比巨大的! 正如Apple官网上的广告:Hug ...
- Python 数据结构与算法 —— 哈弗曼树
1. 从扩充二叉树到哈弗曼树 扩充二叉树:对二叉树 T,加入足够多的新叶节点(而不是任意),使 T 的原有结点都变成度数为 2 的分支节点,得到的二叉树称为 T 的扩充二叉树. 对于扩充二叉树而言, ...
- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disa
转自:https://blog.csdn.net/ouyangtianhan/article/details/6797999 Unable to find required classes (java ...