Learn Vim
Vim Note
很早就知道vim是一个很强大的编辑器,也用了很久。不过没有系统的总结过,这次就写个笔记方便以后看看(本文在vim下编辑完成)
第一印象
打开vim第一感觉就是无从下手,相信大多数人和我差不多吧。
vim有很多的模式,刚启动在Normal模式下,按下‘i’后就会进入Inserts模式。这个模式下就可以输入文字进行编辑。
要想退回Normal就按‘ESC’,Normal模式下可以干很多事:
x:删除光标所在字符
:wq:保存并推出(:q是退出:w是保存)
dd:删除这一行,并将这一行保存到剪贴板
yy:复制这一行
p:粘贴
hjkl:上下左右移动光标(一开始很难受到后面感觉很棒!)
强调一下 以上都在Normal下完成
哎呦不错呦
上面的指令用的是比较多的,接下来的指令是偶尔会用的一些,下面的指令也是在Normal模式下完成:
^:到达本行头(除了空格,tab,换行,回车之类的)
$:到本行尾
/:搜索(例如在文本中搜索vim,/vim)
u:撤销
Ctrl-r :重做
进阶!
接下来就是一些很厉害的指令了,配合上面的指令可以更加的有效率:
. :重复上一个指令
N+指令:指令重复N次(3dd删除3行)
gg:到达第一行
G:到达最后一行
:N:到达第N行
v,V:可视化选择,这个不好解释,自己试一下最好
你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:
例如 0y$ 命令意味着:
- 0: 先到行头
- y :从这里开始拷贝
- $ : 拷贝到本行最后一个字符
你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。
你也可以输入 y2/vim 来拷贝2个 “vim” 之间的字符串。
Learn Vim的更多相关文章
- [转载]VIM 教程:Learn Vim Progressively
文章来源:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ Learn Vim Progressively TL ...
- 简明 VIM 练级攻略
http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...
- 跟我一起学习VIM
跟我一起学习VIM - The Life Changing Editor 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...
- VIM编辑器之常用命令
分类: vim 目录(?)[-] 第一级 存活 第二级 感觉良好 第三级 更好更强更快 更好 更强 更快 第四级 Vim 超能力 在当前行上移动光标 0 f F t T 区域选择 acti ...
- vim 使用2 转载 为了打开方便
http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...
- VIM的强大功能
转发地址:http://coolshell.cn/articles/5426.html 简明 Vim 练级攻略 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是 ...
- Vim编辑器
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- Vim 练级攻略
以下的文章翻译自<Learn Vim Progressively>,我认为这是给新手最好的VIM的升级教程了,没有列举全部的命令,仅仅是列举了那些最实用的命令. 很不错. -------- ...
- 简明 Vim 练级攻略(转)
原文:http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会 ...
随机推荐
- cf754 A. Lesha and array splitting
应该是做麻烦了,一开始还没A(幸好上一次比赛水惨了) #include<bits/stdc++.h> #define lowbit(x) x&(-x) #define LL lon ...
- 结构类模式(六):享元(Flyweight)
定义 运用共享技术有效的支持大量细粒度的对象. 两个状态 内蕴状态存储在享元内部,不会随环境的改变而有所不同,是可以共享的. 外蕴状态是不可以共享的,它随环境的改变而改变的,因此外蕴状态是由客户端来保 ...
- Makefile基础
1.规则 规则定义格式如下 目标 : 条件1 条件2 ... 命令1 命令2 ... 隐含规则和模式规则(略) 2.变量 Makefile变量像C的宏定义一样,代表一串字符,在取值的地方展开. 1)两 ...
- JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法(转)
原文:JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法 jquery-easyui是一个基于jquery的图形界面插件,利用easyui可以创建很多好看的网页界面 ...
- 利用 Heritrix 构建特定站点爬虫
http://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/
- (C++)STL排序函数sort和qsort的用法与区别
主要内容: 1.qsort的用法 2.sort的用法 3.qsort和sort的区别 qsort的用法: 原 型: void qsort(void *base, int nelem, int widt ...
- java静态代理与动态代理简单分析
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5860749.html 1.动态代理(Dynamic Proxy) 代理分为静态代理和动态代理 ...
- Android LIstView初次创建getview方法执行多次问题
写listview优化的时候,发现Listview初次创建的时候会多次执行getView方法. <?xml version="1.0" encoding="utf- ...
- Android Studio @Bind的用法,自动生成findViewById无需再实例化控件
第一步:app 的build.gradle文件中添加 如下代码: compile 'com.jakewharton:butterknife:7.0.0' 点击Sync Now 同步下载第二步:安装插件 ...
- 组件化CSS--管理你整站的CSS文件
为什么要拆分样式文件? 更易于查找样式规则. 简化维护,方便管理. 还可以针对某一页面提供特定的样式. 为什么要添加桥接样式? 你可以随时添加或移除样式而不需要修改HTML 文档. 为什么要定义两种媒 ...