玩转Vim-札记(二)

  距上篇博文已有一周有余,上次主要介绍了编辑器之神Vim的起源、安装并介绍了两种模式以及一些简单的操作。本次将继续对Vim的使用进行介绍。

登堂入室

  首先接着说移动吧:

 0 → 数字零,到行头
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
$ → 到本行行尾
/pattern → 搜索 pattern 的字符串(如果搜索出多个匹配,可按n键到下一个)

  接下来就是一些常规的编辑的命令,通过它们你将能进行一些基本的操作,譬如复制粘贴、取消等:

 yy → 拷贝当前行
p → 粘贴
dd → 删除当前行
u → 撤销上次操作
<C-r> → 返回撤销前一步(撤销多了可用)

  当你编辑完之后想要对文件进行一些操作你会怎么办呢?别急,接着往下看:

 :w → 保存(不过我一般用下面那个命令)
:wq → 保存并退出
:x → 同上
:q → 没有进行任何改动,仅仅查看的话可用
:q! → 进行改动后却又不想保存改动,强制退出
:saveas <path/to/file> → 另存为 <path/to/file>
:e <path/to/file> → 不退出当前文件打开另一个一个文件(PS:可用tab键进行路径补全,若当前文件有改动,可用:e! <path/to/file> → 打开一个文件)

 当你掌握上面的指令之后,你已经算是练到登堂入室了。若想进军到登峰造极,那么请接着往下看。

登峰造极

  来到这里,说明你的好奇心还是有的,并且还是有那么点上进心的,好的,首先我们来学习下如何进行更快速的光标移动,怎么,感觉光标移动很无趣,很简单?如果你不想你的大多时间花费在光标移动的话,那么我劝你还是继续往下看吧:

 NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行)
gg → 到第一行。(陈皓注:相当于1G,或 :1)
G → 到最后一行。
按单词移动:
w → 到下一个单词的开头。
e → 到下一个单词的结尾。

  这样就没了吗?当然不是咯,或许你知道/pattern → 搜索 pattern 的字符串(如果搜索出多个匹配,可按n键到下一个),但是还有一个指令不用那么麻烦也可以做到哦,请看下面:

 * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

  那么我们接着说说如何重复一个指令:

 . → (小数点) 可以重复上一次的命令
N<command> → 重复某个命令N次

  怎么样,有没有感受到Vim的强大,其实还远远不止这些,其实Vim的各种指令都是可以组合的哦,也就是下面这样:

 <start position><command><end position>

  举几个栗子:

  dG:删除光标所在行直至文本末尾。

  ye:从当前位置拷贝直至本单词最后一个字符。

  好了,今天的内容就到此结束了,敬请期待下次的内容。

PS:本博客欢迎转发,但请注明博客地址及作者,因本人水平有限,若有不对之处,欢迎指出,谢谢~

  博客地址:http://www.cnblogs.com/voidy/

  博客新址:http://voidy.net

  <。)#)))≦

玩转Vim-札记(二)的更多相关文章

  1. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  2. 菜鸟玩云计算之十二:KVM虚拟机更改大小

    菜鸟玩云计算之十二:KVM虚拟机更改大小 参考: http://www.missionfamilybank.org/expanding-resizing-your-qcow2-virtual-mach ...

  3. 玩转VIM之将Vim全副武装

    玩转VIM之将Vim全副武装 懒癌末期的我貌似很久没有写博客了,已经欠了多少篇在计划中的博客我已然不好意思说了.好了,言归正传,在前三篇介绍了Vim作为代码编辑器之后可能会有人说,要学习那么多指令真的 ...

  4. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  5. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  6. VIM使用(二) 浏览内核源代码

    为了实现类似SourceInsight功能,通过VIM+Ctags+Cscope+Taglist+Source Explore +NERD Tree实现. 一, 安装插件 1)安装Ctags 和Csc ...

  7. OpenCV 玩九宫格数独(二):knn 数字识别

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:刘潇龙 前言 首先需要说明,这里所说的数字识别不是手写数字识别! 但凡对机器学习有所了解的人,相信看到数 ...

  8. BZOJ3577:玩手机(最大流,二维ST表)

    Description 现在有一堆手机放在坐标网格里面(坐标从1开始),坐标(i,j)的格子有s_(i,j)个手机. 玩手机当然需要有信号,不过这里的手机与基站与我们不太一样.基站分为两种:发送站和接 ...

  9. 一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程

    一.Vim编辑器的使用 1. vim编辑器的运行模式 编辑模式:等待用户编辑命令的输入 插入模式:编辑文本内容 命令模式:执行命令 2. 使用 :vim 文件名 3. 查看当前vim编辑器介绍:vim ...

  10. Javascript玩转继承(二)

    对象伪装来实现继承.在这里先来说一下这种方式的优缺点 这种方式是比较容易理解的,在子类中调用父类的构造函数.另外,这种方法最大的一个优点就是说构造继承可以实现多继承,复习下这个代码: function ...

随机推荐

  1. Intellij IDEA中Maven解决依赖失效

    最近在折腾Maven和Sonatype的Nexus, 倒霉催的国内和公司网络... Nexus配合finalspeed或者kcptun倒是很给力,  但是Intellij就经常出问题, 出现红字也不动 ...

  2. 【luogu P3884 [JLOI2009]二叉树问题】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3884 对方不想和你说话并向你扔了一个lca模板. #include <cstdio> #incl ...

  3. [luoguP1090][Noip2004]合并果子

                                            合并果子 首先来看一下题目: (OI2004合并果子) [题目描述] 果园里,多多已经将所有的果子打了下来,而且按果子的 ...

  4. AngularJS 控制器属性

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  5. TinyMCE(富文本编辑器)在Asp.Net中的使用方法

    TinyMCE(富文本编辑器)在Asp.Net中的使用方法   转至:http://www.cnblogs.com/freeliver54/archive/2013/02/28/2936506.htm ...

  6. IntelliJ IDEA使用hibernate

    环境:数据库:mariadb 10.2.16  https://downloads.mariadb.org/配置好maven:见收藏的博文链接 https://www.cnblogs.com/ICE_ ...

  7. iOS开发- 获取本地视频文件

    下面具体介绍下实现过程.先看效果图.图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 图3. 实现功能后, 运行截图 好了, 通过图片, 我们可以看到实现的效果.功能包 ...

  8. HTML中footer固定在页面底部的若干种方法

    <div class="header"><div class="main"></div></div> <d ...

  9. CSRF的原理和防范措施

    a)攻击原理: i.用户C访问正常网站A时进行登录,浏览器保存A的cookie ii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参 ...

  10. javaWeb项目加载HTML文件时报错 [No Find /index.html]

    直接上主题: 在web.xml文件中添加如下信息: <display-name>Spring MVC Application</display-name> <servle ...