设为首页 收藏本站
查看: 246|回复: 0

[经验分享] Linux文本编辑器之vim

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-26 08:41:27 | 显示全部楼层 |阅读模式
                      博客荒废了好久,最近在一本书中看到这样一段话,“再普通的事件一经记录就成为历史,一成为历史就将价值连城”。虽然我正在做的课后笔记远远谈不上是历史,但于准备学以致用的我而言,这种记录必定价值连城。不记录,既放弃了绝佳的深入理解知识点的机会,同时每次学习投入的精力也很快付之东流。深知自己于记录文字信息这块的拖拉,不敢放下大话,但且从此博文开始,先做到补齐前面课程的知识点内容,加油!
  
      这里仅就课程内容做了相应记录,未常用的高级或扩展功能,自己暂时未用到,也就没有去查阅相关书籍及做记录。
  
  一、简介
      vim(vi improved),Linux中功能十分强大的文本编辑器。
      Linux下输入vim,会直接进入该程序,进行文本编辑。也可以使用# vim [options] /path/to/somefile,这种格式,直接打开指定的文本文件。
  
  二、模式转换
      打开vim,程序界面下,vim默认处于编辑模式;需要编辑文本需要转换到输入模式;退出程序、保存修改等操作需要转换到末行模式。
      编辑模式——>输入模式:
      i:insert,当前光标所处字符前转换为输入模式;
      a:append,当前光标所处字符后转换为输入模式;
      o:当前光标所在行的下方新建空白行转换为输入模式,且停留在新建行行首;
      I:当前光标所在行的行首转换为输入模式;
      A:当前光标所在行的行尾转换为输入模式;
      O:当前光标所在行的上方新建空白行转换为输入模式,且停留在新建行行首;
  
      输入模式——>编辑模式:
      按“Esc”键;
  
      编辑模式——>末行模式:
      键入冒号“”;
  
      末行模式——>编辑模式:
      按两次“Esc”键;
      注:三种模式仅能按照以上顺序转换。
  
  三、相关功能快捷键
      光标跳转:
      h:向左单个字符移动;
      i:向右单个字符移动;
     j:向下单个字符移动;
      k:向上单个字符移动;
      可以结合数字实现多个字符间跳转,例如5h,即向左跳转5个字符距离;
  
      单词间跳转:
      w:跳转至后一个单词的词首;
      e:跳转至当前或下一个单词的词尾;
      b:跳转至当前或下一个单词的词首;
  
      句子间跳转:
     ):跳转至下一句行首;
     (跳转至下一句行首;
  
      段落间跳转:
      }跳转至下一段行首;
      {跳转至下一段行首;
  
      行间跳转:
      1G或者gg:跳转到第一行;
      G:跳转到最后一行;
      #G:结合数字,跳转到指定行;
  
      行内跳转:
      ^:跳转至行首的第一个非空白字符;
      $:跳转至绝对行尾;
      0:跳转至绝对行首;
  
      关闭文件:
      末行模式:
      :w 保存;
      :q 退出;
      :! 强制;
      :wq! 强制退出保存;
      :x 保存退出;
      :qall 编辑多文件时,退出所有正在编辑的文件;
  
      编辑模式:
      ZZ:保存退出;
  
      打开文件:
      vim [options] /path/to/somefile
      vim +# /path/to/somefile      打开文件,光标处在第#行的行首;
      打开多个文件:
      vim /path/to/somefile1 /path/to/somefile2 /path/to/somefile3                 
      next:跳转至下一个文件;
      prev:跳转至上一个文件;
      first:跳转至第一个文件;
      last:跳转至最后一个文件;
      -O:垂直分割窗口;
      -o:水平分割窗口;
      ctrl+w松开后,根据水平或垂直界面,按上下左右光标键或wsad键,切换编辑文件;
  
        x:删除单个字符;
      #x:删除光标所在处像右#个字符;
      d:删除命令;
      dw:删除光标处至后一个单词的词首的内容;
      db:删除光标处至当前或下一个单词的词首的内容;
      de:删除光标处至当前或下一个单词的词尾的内容;
      d):删除光标至句尾的内容;
      d(:删除光标至句首的内容;
      d^:删除光标处至行首的内容;
      d$:删除光标处至行尾的内容;
      dd:删除光标所在行;
      #dd:删除光标所在行及向下#行;
  
      末行模式下亦可以使用d命令:
      1,7d:删除第1到7行的内容;
  
      末行模式支持地址定界:
      格式:起始地址,结束地址,例如:
      $:最后一行;
       .:当前光标所在行;
       %:全文;
  
      1,$:表示第1到最后一行;
      1,+6:表示第1行再往下6行;
      1,$-2:表示第1行至倒数第3行;
      .,+3:当前光标所在行再往下3行;
  
  
      撤消操作
      u:vim默认会保存最近50次的操作,u命令可以逐一撤消此前的操作;
  
      未保存修改前,编辑操作可撤销
      Ctrl+r:撤消此前撤消的操作;
        粘贴:paste,put
      p:最后一次删除操作可以使用p,相当于windows中的剪切;
      删除的是整行:
        小写p:在当前光标所在行的下方粘贴;
        大写P:在当前光标所在行的上方粘贴;
      删除的不是整行:
        小写p:在当前光标所处字符的后方粘贴;
        大写P:在当前光标所处字符的前方粘贴;
  
      复制:yank
      y:删除功能;
      yy:复制光标所在行;
      #yy:复制含光标所在的#行内容;
      y$:复制光标处至行末的内容;
      y^:复制光标处至行首的内容;
  
      查找:
      /pattern:向后搜索字符串pattern ;     
    ?pattern: 向前搜索字符串pattern;
      查找到对应字符后,使用n,N在匹配字符间跳转
      n:下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个) ;     
    N:上一个匹配(同上);
  
      替换:
      :%s/old/new/g:搜索整个文件,将所有的old替换为new;     
    :%s/old/new/gc:搜索整个文件,将所有的old替换为new,每次都要你确认是否替换;
  
      最后:linux中有一个vim教程,输入vimtutor回车即可跟着练习
                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-50588-1-1.html 上篇帖子: 给fedora添加清华大学的更新源 教育网用户发 下篇帖子: 使用dig命令查看解析记录 编辑器 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表