vim有许多命令,网上搜有一堆贴子、文章列举出各种功能的命令。

  对于“=”、“d”、“y”,我在无意中发现了它们所具有的相同的一些用法,先举以下三个例子:

=nG
dnG
ynG

  其中,n为行号。注意行号后面接的是大写字母“G”。而“nG”恰好是光标移动到第n行的命令。

  对于“=”,“=nG”的意思就是从当前行到第n行之间进行格式化。常用的一个命令“gg=G”实际上是先执行了“gg”使光标跳转到第一行,然后才是执行了“=G”。如果不写行号,就是到最后一行,于是“gg=G”就可以使当前文件的所有内容格式化了。格式化的tab长度是在.vimrc中设置的。

  同样地,对于“dnG”,是对当前行到第n行进行剪切,“ynG”是对当前行到第n行进行复制。

  另外,n可以小于当前行数,如当前行如果是70行,执行“y35G”,就是把从70行到第35行的内容进行复制,其实就相当于复制35行到70行的东西。

  有了这个,在以下场合非常方便:

  假设要复制从25行到78行的内容,这时候可以直接使用“25Gy78G”,而不用去计算一共有多少行,然后执行ndd了。

  对于“d”和“y”,还可以这样:

  “d^”、“d$”,从光标位置剪切到行首/行尾,“dw”,剪切光标当前位置到单词的第一个字母,等等。

  总之,就是把“=”、“d”、“y”与光标移动的操作结合起来使用,从而产生想要的效果。

最新文章

  1. UICollectionViewCell 网格显示数据
  2. VBScript使用CDO.Message发送邮件
  3. Mongodb在Linux下安装及配置
  4. Yosemite 快速搭建 自带Apache+PHP5.6+MySQL 开发环境
  5. [转]java动态代理(JDK和cglib)
  6. protobuf-net
  7. 新鲜出炉的30个精美的 jQuery & CSS3 效果【附演示和教程】
  8. Junit单元测试-环境配置
  9. Repeater数据绑定
  10. Latex 编译错误: ! pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pd fstartlink. 解决方法
  11. hibernate分页实现
  12. 如用使用高版本framework,比如支持iOS5及以上的工程中使用Social.framework
  13. 利用row_number over 函数删除重复记录
  14. C#读取文件高效方法实现
  15. 【足迹C++primer】48、函数引用操作符
  16. Android之RecyclerView入门
  17. 《高性能javascript》学习总结
  18. 大白话说Java泛型(二):深入理解通配符
  19. OpenGL Shader Key Points (1)
  20. 关于根据模板生成pdf文档,差入图片和加密

热门文章

  1. 关于logstash-out-mongodb插件说明
  2. [Flex] 组件Tree系列 —— 阻止用户点击选中Tree中任何节点
  3. Ionic2实战——按模块划分app 创建多module
  4. uC/OS-II 函数之任务相关函数
  5. 使用cookie下次自动登录
  6. 斐讯K2P配置文件破解笔记
  7. MongoDB mongo.exe启动及闪退解决 转载
  8. 洛谷 P4234 最小差值生成树(LCT)
  9. selectComponent是ok的,小程序组件 component方式,让子页面重绘
  10. win 10安装应用程序提示Error 1317的解决方法