三种模式

  • 按 ESC 进入命令模式
  • 命令模式下输入 Shift + ; 进入末行模式
  • 命令模式下输入插入命令,如(i,a,o) 进入输入模式

进入

  • vim 文件名
  • vim直接编辑一个文件,如果是已经存在的文件,则是打开着文件,如果是没有的文件,就会新建文件
  • 在Linux中,文件后缀只是一个标示,任何文件都可以用vim打开,py文件也是,可以用vim文件打开编辑

退出

  • wq:末行模式,wq保存退出
  • q:末行模式,q直接退出
  • q!:末行模式,q!强制退出,不保存

移动光标

  • gg:到文件第一行
  • G:到文件最后一行
  • ^:非空格行首
  • 0:行首(数字0)
  • $:行尾

输入模式

  • i:从光标所在位置前面开始插入
  • I:在当前行首插入
  • a:从光标所在位置后面开始输入
  • A:在当前行尾插入
  • o:在光标所在行下方新增一行并进入输入模式
  • O:在当前上面一行插入

复制和粘贴

  • yy:复制整行内容
  • *yy:复制*行内容
  • yw:复制当前光标到单词尾内容
  • p:粘贴

撤销

  • 命令模式下:u
  • u:撤销
  • ctrl + r:取消撤销(撤销上一个u)

删除

  • 剪切了不粘贴即可当作删除用
  • dd:剪切光标所在行
  • *dd:剪切光标所在下*行
  • dw:剪切一个单词
  • x:剪切光标所在字符

块操作

  • v:块选择
  • ctrl+v:列块选择

查找

  • 命令模式下输入:/,向前搜索
  • 命令模式下输入:?,向后搜索
  • n:向下查找
  • N:向上查找

替换(末行模式)

  • :s/s1/s2  替换当前行第一个s1为s2
  • :s/s1/s2/g  替换当前行中所有s1为s2
  • :%s/s1/s2/g  替换文中所有s1为 s2

最新文章

  1. 通过setTimeout来取消因大量计算造成的网页卡顿
  2. java编辑器eclipse如何更改jdk版本
  3. 【转载】 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
  4. 命令行静态编译QT程序
  5. iscc2016-basic-心灵鸡汤
  6. 在controller间分享数据(第一种办法)
  7. mybatis中使用log4j
  8. Xamarin 安装教程 支持Visual Studio 2013
  9. Dynamics CRM 2013 报表开发:安装开发工具
  10. .Net软件开发面试技巧
  11. Retrofit的初次使用
  12. 从壹开始前后端分离 [ vue + .netcore 补程 ] 三十一║ Nuxt终篇:基于Vuex的权限验证探究
  13. mysql-binlog日志删除
  14. 211. Orchard学习 二 2、ManualResetEvent 与 AutoResetEvent
  15. mysql中如何使用一句话将一个表的数据导入到另一个表中:insert into ...select
  16. 关于const的一些注意事项
  17. python Mixin 是个啥?
  18. ubuntu下安装交叉编译工具链
  19. php写入、追加写入文件的实例
  20. express操作数据库

热门文章

  1. sql注入问题回顾
  2. 几种常见设计模式在项目中的应用<Singleton、Factory、Strategy>
  3. 【Android - IPC】之Binder机制简介
  4. C语言l-2019秋作业01
  5. unity3D 游戏物体同时绑定单击、双击事件
  6. 如何编写可怕的Java代码?
  7. Spring Boot 最简单整合Shiro+JWT方式
  8. 【原创】004 | 搭上SpringBoot事务诡异事件分析专车
  9. HotStuff共识协议详解
  10. 高质量iOS博客推荐