介绍

vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面。

移动光标

0 (零):将光标移动到行的起始处。

$:将光标移动到行的末尾处。

H:将光标移到当前窗口(而非全文)的第一行起始处。

M:将光标移到当前窗口的居中一行起始处。

L:将光标移到当前窗口的最后一行起始处。

gg:将光标移动到文档的开始处

G:将光标移动到文档的末尾

<数字>G:将光标移动到指定的数字行的起始处。

<数字>-:将光标移动到当前光标减去指定数字的光标行开始处

<数字>+:将光标移动到当前光标加上指定数字的光标行开始处

删除与恢复

删除命令:

x(小写):删除光标所在处字符。

dd:删除光标所在的行。

D:删除从光标所在之处开始直到该行末尾的全部字符。

<数字>dd:删除从光标当前行开始指定的数字行

恢复(Undo)命令:

u:恢复刚被删除的文本。

U:恢复光标所在行在此次编辑中的全部改变。

复制粘贴

yy:复制光标所在行

<数字> yy:复制从光标开始指定数字的行

p:粘贴复制的内容到光标的所在行的下一行

查找字符

/<字符串>:从光标所在处开始往后查找第一个符合的字符串

?<字符串>:从光标所在处开始往前查找第一个符合的字符串

n:查找下一个

N:查找上一个

替换字符串

:s/old/new/ 替换当前行第一个 old 为 new

:s/old/new/g 替换当前行所有 old 为 new

:n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 new

:n,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new

n 为数字,若 n 为"."表示从当前行开始到最后一行

:%s/old/new/(等同于 :g/old/s//new/) 替换每一行的第一个 old 为 new

:%s/old/new/g(等同于 :g/old/s//new/g) 替换每一行中所有 old 为 new

保存与退出

:q:退出vi。

:q!:舍弃当前对编辑内容所作的修改,强行退出vi。

:w [<文件名称>]:将正在编辑的内容以<文件名称>为名存盘(相当于Save as...),如果没有指定<文件名称>,则使用原有的文件名称(相当于Save...)。

:wq:存盘退出。

其它的一些参数命令

显示行号:set nu

取消显示行号:set nonu

总结

vim是个强大的文本编辑工具,还有很多其它的用法,后面再慢慢完善。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

最新文章

  1. Android ViewPager打造3D画廊
  2. iOS开发系列--地图与定位
  3. 大气散射的demo
  4. String 字符串递归截取字节字符串
  5. 黄聪:日租VPS中FileZilla_Server配置方法
  6. MAC系统生成RSA公钥私钥
  7. 初次使用IDEA的相关技巧
  8. NodeJs和ReactJs单元测试工具——Jest
  9. AX2009按照批次生产日期预留
  10. Java NIO教程 MappedByteBuffer
  11. js获取时间搓
  12. Beginning OpenGL ES 2.0 with GLKit Part 1
  13. Android实战技巧之六:PreferenceActivity使用详解
  14. NSString 使用小结
  15. 玩转Web之servlet(五)---- 怎样解决servlet的线程安全问题
  16. python之requests模块
  17. 原生js实现一个简单的倒计时功能
  18. ajax跨域请求问题及解决办法总结
  19. shell自定义输入输出 read+echo
  20. Intellij IDEA更改项目优先编译顺序

热门文章

  1. Android安全开发之UXSS漏洞分析
  2. MSMQ(Microsoft Message Queue)
  3. Linux下使用Eclipse开发Hadoop应用程序
  4. freeCodeCamp:Slasher Flick
  5. C# 微信v3退款
  6. springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件
  7. Xamarin studio配置问题
  8. 【Thinking in Java】编写构造器时应注意:尽量避免调用其他非private方法
  9. Android 百度云媒体 等播放器播放4:3等多种比例的视频 大小配置的问题
  10. JS——树形导航菜单(html的ul嵌套,jQuery的css(),show(),hide(),index()等方法)