玩转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. Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】

    任意门:http://codeforces.com/contest/1066/problem/B B. Heaters time limit per test 1 second memory limi ...

  2. print (re.findall("(?:abc)+","abcabcabc"))

    _*_ coding:utf-8 _*_ import re findall 有括号优先级,所以我们这里一直出现的都是 abc print (re.findall("(abc)+" ...

  3. Java中Thread类的join方法到底是如何实现等待

    现在的场景是A线程执行:public void run(){ bThread.join(0);//把b线程加入到当前线程(a线程),等待b结束,当前a线程才会结束.}B线程执行public void ...

  4. js中json对象取键和值

    1.json中输出各个键值: var ohp = {"星期一":18,"星期二":16,"星期三":19,"星期四":1 ...

  5. P1800 software_NOI导刊2010提高(06)

    P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术 ...

  6. 学大伟业 Day 2 培训总结

    一.dp 动态规划的本质 是一种思想.通过对原问题划分成子问题,寻找子问题之间的联系,通过求解子问题得出原问题的解.与贪心不同的是,动归是深谋远虑,考虑全局最优解:而贪心则目光短浅,只考虑局部最优解. ...

  7. html基础用法(上)

    html的定义: html超文本标记语言,标准通用标记语言下的一个应用. “超文本”就是指页面内可以包含图片,链接,甚至音乐,程序等非文字语言. 超文本标记语言的结构包括“头”部分(head),和“主 ...

  8. iOS之UIKeyboardType 11种键盘图片展示

    UIKeyboardTypeDefault      UIKeyboardTypeASCIICapable  ==  UIKeyboardTypeAlphabet      UIKeyboardTyp ...

  9. jwplayer 参数记录

    jwplayer().getPosition()://播放了多少秒 jwplayer('playerdiv').play(); || jwplayer(0).play(true/false);  // ...

  10. CacheCloud+Redis Cluster 3部署

    CacheCloud环境需求 Java 7 Maven 3 MySQL Redis 3 具体用法可参考:https://cachecloud.github.io 1.下载CacheCloud 官网ht ...