zoukankan      html  css  js  c++  java
  • 分享linux 命令—vi/vim命令

      每日分享,稳步前进。

      今天介绍的是vi/vim命令,他们都是多模式编辑器,vim是vi的升级版本,它兼容vi的所有指令,并且加了一些新的特性在里面。我们在文本编辑时都会使用到他,他的作用不容小觑。

      今天因为篇幅原因,所以只介绍一部分内容,其余部分后续会持续完善。

      vi一般分为3种模式,正常模式,输入模式,底行模式。

      正常模式:使用vi或者vim进入文件中,首先处于正常模式,此时可以使用快捷键命令,或按:输入命令行。

      输入模式:在正常模式下,按i、a、o等都可以进入输入模式。

      底行模式:在正常模式下,按:键进入底行模式。

      vi/vim的启动(vim兼容vi的所有指令,所以这里使用的vi指令,vim也都可以使用):

      启动最简单vi+filename,此时如果存在此文件则进入该文件内,如果没有则会建立一个新的文件,这里通过网上查资料和自己试验,发现其建立的文件和touch建立的一样,感觉和touch这些命令有些功能重复了,但他不能创建目录,所以与mkdir不发生功能上的交集,当然笔者才疏学浅,没有往深了探索,如果有错误,希望大家可以在评论区指点一下谢谢。

      vi +n filename :打开文件,并将光标置于第n行首 

      vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 。

    这里他并不是将光标放在你所查的文字处,而是该文字所处字符串的首位。还要注意+ 和 / 的位置。

     vi -r filename :恢复上次异常退出的文件。

     这里我验证没有成功,或许是我的方法不对。

     我是使用xshell,先编辑文件,然后直接断开连接,然后再重新连接,然后使用这个指令,但没有成功,虚拟机上并没有直接测试,希望大家可以在留言解答一下。

     vi filename....filename :可以打开多个文件,并且依次进行编辑 

                      :files 查看当前打开了哪些文件 

                      : n 切换到下一个文件

                      : N 切换到上一个文件

     这里验证过,但图片不太好展示效果,所以大家可以自己试一下,但是:files命令并没有成功,有结果的朋友可以在评论区分享下。

     同时打开多个文件后,复制粘贴这些工作就会舒服很多,但如果只是显示一个文件也不太方便我们操作。所以接下来介绍一个可以让我们更方便的指令。

     vi -o filename1 filename2 ... 水平分割窗口

     切换窗口可以使用Ctrl+w键,不知道是不是方法不对,有时跳转需要两次w。

    垂直分割窗口笔者暂时没找的,vim到是有,但是咱们这里是说的vi,vim的内容会在后面分享给大家。

    输入vi命令后,此时正常模式

     此状态下敲击键盘动作会被Vi识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

     这里我们介绍几个常用的命令

      i:在光标前插入。

     a: 在光标后插入。

     A: 在当前行最后插入。

     o: 在下面新建一行插入。

     O: 在上面新建一行插入。

      : 切换到底线命令模式,以在最底一行输入命令。

     按下i键

    底部会切换至INSERT

    此时可以从键盘输入内容。

    这里是我输入内容。

    此时按Esc键退出输入模式。然后按:键进入底行模式。他可以将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

    Linux中的退出保存有两种方式

    第一种: :wq 保存且退出

                    :q!不保存强行退出

    第二种: :x 保存退出(必须是修改的,如果是vi新文件进入,并且没有新内容,是建立失败的)

     vi/vim知识点太多,本来以为可以很快总结完,结果越总结越发现更多的内容,突然感觉无从下手,所以先写了这一点,感觉写的有点乱,还是没有大体意识。

  • 相关阅读:
    网络流量监控工具iftop
    CentOS6.X安装vsftpd服务
    CentOS 6.x版本升级Mysql
    CentOS 5.x版本升级Mysql
    CentOS 5.x版本升级PHP
    CentOS 6.X版本升级PHP
    Spring bean configuration inheritance
    cannot load such file -- openssl
    第八章、Linux 磁盘与文件系统管理
    Laravel Configuration
  • 原文地址:https://www.cnblogs.com/lzjwhy/p/9596960.html
Copyright © 2011-2022 走看看