Vim tips
1、光标移动:
(1)、NG -> 移动到第N行,或者使用:N
(2)、gg -> 移动到第一行
(3)、G -> 移动到最后一行
(4)、单词移动:
w -> 移动到下一个单词的开头
e -> 移动到下一个单词的结尾 (注:使用小写的e和w,如果认为单词由字母,数字,下划线组成,即程序变量,否则用大写的E和W,若认为单词由blank字符分隔,即程序语句)
(5)、%匹配括号移动,包括( , { , [
(6)、#和*:匹配光标当前所在单词,#表示移动到上一个匹配单词,*表示移动到下一个匹配单词
2、复合操作:
(1)、很多命令都可以采用如下格式进行复合操作:
<start postion><command><end position>
例如0y$命令意味着:
0 -> 操作的开始位置为行头
y -> 进行拷贝操作
$ -> 操作的结束位置为行尾
再如,ye则表示从当前位置拷贝到本单词的最后一个字符,y2/foo则可以用来拷贝两个"foo"之间的字符串。
3、单行操作:
(1)、0 -> 移动到行头
(2)、$ -> 移动到行尾
(3)、^ -> 移动到本行第一个非blank字符
(4)、g_ -> 移动到本行最后一个非blank字符
(5)、fa -> 移动到下一个为a的字符处,同时可以将a改为任何其他字符
(6)、t, -> 移动到逗号前的第一个字符,同时可以将','改为任何其他字符
(7)、3fa -> 查找当前行第三个出现的a
(8)、F和T -> 移动方向和f,t相反
4、块操作: Ctrl + v (写注释很有用)
行前添加内容:"Ctrl + v" 进入块操作模式 -> 移动光标选定块大小 -> "I" 进入插入模式 -> 输入内容 -> 按ESC键使每行生效
行后添加内容:"Ctrl + v"进入块操作模式 -> 移动光标选定块大小 -> “$” 移动到行尾 -> 输入内容 -> 按ESC键使每行生效
5、自动补齐: Ctrl + p 或者 Ctrl + n
在Insert模式下,输入单词的开头,按Ctrl + p 或者 Ctrl + n 自动补齐功能出现
6、分屏操作:
(1)、使用大写的O参数来垂直分屏:(小写的o为水平分屏)
vim -O file1 file2 file3...
(2)、屏幕变大: [Ctrl + w] +
(3)、屏幕变小:[Ctrl + w] -
参考:
http://coolshell.cn/articles/5426.html
http://coolshell.cn/articles/1679.html
Vim tips的更多相关文章
- Vim tips——Working with external commands
A common sequence of events when editing files is to make a change and then need to test by executin ...
- vim tips 集锦
删除文件中的空行 :g/^$/d g 表示 global,全文件 ^ 是行开始,$ 是行结束 d 表示删除该 这里只能匹配到没有白空符的空行,假如要删除有空白符的空行,则使用: :g/^\s*$/d ...
- Ubuntu下VIM的安装及其配置——Linux篇
一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...
- Vim ide for shell development
Source : This article is part of the ongoing Vi / Vim Tips and Tricks Series. As a Linux sysadmin or ...
- 最佳vim技巧
最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...
- 程序猿的编程神器 - vim
一.官方文档: 当你首次安装好 Vim 之后.能够用 :help tutor 或者 :help tutor@cn 命令.进入一个30分钟的 Vim 新手教程.你也能够下载一个 Vim Document ...
- 15个不起眼但非常强大的 Vim 命令
如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...
- VIM命令集
Command Action Notes vim file +54 open file and go to line 54 any : command can be run using + on co ...
- Ubuntu 16.04 Vim安装及配置【转】
转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...
随机推荐
- 【iOS】Quartz2D信纸条纹
一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. - (void)viewDidLoad { [super viewDidLoad]; UIImage ...
- 通过原生js添加div和css
function createStyle(){ return"*{padding:0;margin:0;border:0}.loading{width:640px;height:1024px ...
- 文件无刷新上传(swfUpload与uploadify)
文件无刷新上传并获取保存到服务器端的路径 遇到上传文件的问题,结合之前用到过的swfUpload,又找了一个无刷新上传文件的jquery插件uploadify,写篇博客记录一下分别介绍这两个插件的实现 ...
- css三角形的实现
实底三角形: <html> <head> <title></title> <style type="text/css"> ...
- [ javascript html Dom image 对象事件加载方式 ] 对象事件加载方式
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...
- [转] X-RIME: 基于Hadoop的开源大规模社交网络分析工具
转自http://www.dataguru.cn/forum.php?mod=viewthread&tid=286174 随着互联网的快速发展,涌现出了一大批以Facebook,Twitter ...
- Android子线程更新UI主线程方法之Handler
背景: 我们开发应用程序的时候,处于线程安全的原因子线程通常是不能直接更新主线程(UI线程)中的UI元素的,那么在Android开发中有几种方法解决这个问题,其中方法之一就是利用Handler处理的. ...
- IOS 友盟使用详解
IOS 友盟使用详解 这篇博客将会详细介绍友盟的使用,希望对博友们有所帮助. 首先我们在浏览器上搜索友盟. 在这里我们选择官网这个,进去友盟官网后我们按照下图进行选择. 接下来选择如下图 Next 这 ...
- float类型转对象 对象转float类型(一)
//float类型转化为对象CGFloat fValue = 1.f;NSNumber *objNo = [NSNumber numberWithFloat:fValue];数值.BOOL型都可以转成 ...
- OC语言-06-OC语言-block与protocol
一.block 1> 基本使用 相当于用来存放代码的代码块 效率高 若没有形参可以省略小括号 2> block与函数的相同点 可以保存代码 可以有返回值 可以有形参 调用方式一样 3> ...