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配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
随机推荐
- SOAPUI使用
简介:在开发接口的时候每次验证接口是否正确都需要手动写测试DEMO来验证,使用SOAPUI可以大大减少测试时间. 目录 1.SOPUI介绍... 1 2.SOAPUI使用... 1 2.1新建SOAP ...
- Linux常用PDF阅读软件
1.福昕阅读器是一款PDF文档阅读器,对中文的支持度非常高.福昕阅读器作为全球最流行的PDF阅读器,能够快速打开.浏览.审阅.注释.签署及打印任何PDF文件. 2.evince是一个支持多种格式的文件 ...
- 手把手教你在VMware虚拟机中安装Ubuntu14.04系统
在VMware中创建完虚拟机之后,一般需要给虚拟机安装系统,比较受青睐的系统有Ubuntu和Centos,关于Centos系统的安装之前已经写过了,感兴趣的小伙伴可以戳这篇文章:靠谱的centos7. ...
- strings---对象文件或二进制文件中查找可打印的字符串
strings命令在对象文件或二进制文件中查找可打印的字符串.字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束. strings命令对识别随机对象文件很有用. 语法 strings [ - ...
- 紫书 习题 10-18 UVa 10837 (欧拉函数变形)
这道题很巧妙,要把式子变一下 phi(n) = n * (1 - 1 / p1) * (1 - 1 / p2)--(1 - 1 / pr) = n * ((p1-1) / p1) * ((p1-2) ...
- 菜鸟之路——Java并发(二)ThreadLocal
一.什么是ThreadLocal ThreadLocal,非常多地方叫做线程本地变量,也有些地方叫做线程本地存储.事实上意思几乎相同.非常多博客都这样说:ThreadLocal为解决多线程程序 ...
- JAVA 并发编程-线程范围内共享变量(五)
线程范围内共享变量要实现的效果为: 多个对象间共享同一线程内的变量 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsi ...
- [DLX反复覆盖] hdu 2828 Lamp
题意: 有N个灯M个开关 每一个灯的ON和OFF状态都能控制一个灯是否亮 给出N行,代表对于每一个灯 哪些开关的哪个状态能够使得第i个灯亮 思路: 这里须要注意一个问题 假设开关1的ON 状态和开关2 ...
- Boolean operations between triangle meshes
Boolean operations between triangle meshes eryar@163.com Abstract. Boolean operations is one of basi ...
- mysql异常Lock wait timeout exceeded; try restarting transaction
mysql中使用update语句更新数据报错: Lock wait timeout exceeded; try restarting transaction. 这是由于你要更新的表的锁在其它线程手里. ...