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配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
随机推荐
- Android 使用Gallery组件实现图片播放预览
Gallery(画廊)扩展了LayoutParams,以此提供可以容纳当前的转换信息和先前的位置转换信息的场所. Activity package com.app.test01; import com ...
- refresh table tablename ;MSCK REPAIR TABLE table_name;
在更改分区内的文件后刷新表 refresh table tablename ; 我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS p ...
- Important Abstractions and Data Structures
For Developers > Coding Style > Important Abstractions and Data Structures 目录 1 TaskRunne ...
- request获取各种路径总结、页面跳转总结。
页面跳转总结 JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使 ...
- 深入理解javascript之高级定时器
setTimeout()和setInterval()能够用来创建定时器.其主要的用法这里就不再做介绍了.这里主要介绍一下javascript的代码队列. 在javascript中没有不论什么代码是马上 ...
- 【原生JS组件】javascript 运动框架
大家都知道JQuerry有animate方法来给DOM元素进行运动,CSS3中也有transition.transform来进行运动.而使用原生的Javascript来控制元素运动,须要写非常多运动的 ...
- 在oracle存储过程中创建暂时表
在oracle的存储过程中,不能直接使用DDL语句,比方create.alter.drop.truncate等. 那假设我们想在存储过程中建立一张暂时表就仅仅能使用动态sql语句了: create o ...
- js--09定时器
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- TCP连接状态详解
tcp状态: LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ES ...
- 67.nodejs取参四种方法req.body,req.params,req.param,req.body
转自:http://www.cnblogs.com/jkingdom/p/8065202.html 摘要: nodejs取参四种方法req.body,req.params,req.param,req. ...