IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Vi和Vim编辑器 -> 正文阅读

[系统运维]Vi和Vim编辑器


1. Vi和Vim的基本介绍

  • Linux系统会内置Vi文本编辑器
  • Vim具有程序编辑的能力,可以看作是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译即错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

2. Vi和Vim常用的三种模式

  • 正常模式

    以Vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,我们可以使用【上下左右】按键来移动光标,还可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制】、【粘贴】来处理文件数据。

  • 插入模式

    按下【i,I,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式,一般来说输入i即可。

  • 命令行模式

    进入方法:在终端按下【esc】键,再输入【:】。

    在这个模式中,可以提供相关指令,完成读取、存盘、替换、离开Vim、显示行号等的动作。

3. Vi和Vim的基本使用

案例:

使用Vim开发一个Hello.java程序并保存。

演示:(使用Xshell演示)

  1. 使用Vim编辑器进行程序编写

    [root@hostName01 ~]# vim Hello.java
    

    意为,使用Vim编辑器来编写java程序。

  2. 进入正常模式后,输入i进入插入模式

  3. 输入代码

    public class Hello{
            public static main (String[] args){
                    System.out.println("Hello world!");
                    }
            }
    
  4. 进入命令行模式保存代码

    按下【esc】键,输入冒号【:wq】,【wq】代表写入并退出。

  5. 若想重新编辑java程序,再次进入Vim编辑器即可

    [root@hostName01 ~]# vim Hello.java
    

4. 各种模式的互相切换

image-20211021115304402

【:wq】:保存并退出

【:q】:退出,并且不保存

【:q!】:强制退出,并且不保存

5. Vi和Vim快捷键

  • 拷贝当前行

    在一般模式下,输入【yy】,拷贝当前行向下的5行【5yy】,并粘贴【p】。

  • 删除当前行

    在一般模式下,输入【dd】,删除当前行向下的5行【5dd】。

  • 在文件中查找某个单词

    在命令模式下,输入【/关键字】,回车查找;输入【n】查找下一个。

  • 设置与取消文件行号

    在命令模式下,输入【:set nu】设置文件的行号,输入【:set nonu】取消文件行号

    image-20211022215715558

  • 光标定位至文件的最末行和最首行

    假设需要编辑文件【/etc/profile】文件,在一般模式下,输入【G】定位到最末行;输入【gg】定位到最首行。

  • 撤销操作

    在一般模式下输入【u】。

  • 快速定位到某一行

    假设需要定位到文件的第20行,则需要在一般模式下,先输入【20】,在输入【shift+g】。

  • 快捷键图

    image-20211022221601265


参考视频:https://www.bilibili.com/video/BV1Sv411r7vd?p=16

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:51:46  更:2021-10-23 12:52:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:52:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码