所有的Linux系统都会内建vi文本编辑器,vim具有程序编辑的能力,可以看作是vi的增强版本

三种常见模式

正常模式

以vim打开一个文档直接进入的模式,快捷键可以使用

1.这个模式可以使用上下左右按键来移动光标

2.可以使用删除字符、删除整行来处理文档内容

3.使用复制粘贴

插入/编辑模式

按下i、l、o、O、a、A、r、R等任意字母进入编辑模式,一般使用i

进入编辑模式既可以输入内容

命令行模式

使用相关指令,完成读取、存储、替换、离开vim、显示行号等等操作

三种模式的转换

一般模式=正常模式

使用

快速案例

使用vim开发Hello.java程序

vim Hello.java

回车进入正常模式,输入i进入插入模式

存盘退出等需要进入命令行模式,ESC退出编辑模式,输入:进入命令模式,再输入相关指令

:wq 写入并退出,保存文件

vi和vim常用快捷键

正常模式下输入

拷贝当前行:yy 拷贝当前行(光标)向下的5行并粘贴:5yy

粘贴:p

删除当前行:dd 删除当前行(光标)向下的5行:5yy

再文件中查找某个词: /关键字 回车查找 输入n查找下一个

设置文件的行号,取消文件的行号: :set nu:set nonu

到达文档最末行:G 最首行:gg

撤销之前的动作:u

将光标移动到指定行:如20行

第一步 显示行号:set nu (:进入命令行模式了)

第二步 输入20 (ESC退出命令行模,进入正常模式)

第三步 shift+g

相关指令

:wq 写入并退出,保存文件

:q 退出不保存,没修改时使用

如果修改了使用该命令,会提醒,没办法退出

:q! 强制退出不保存,修改之后使用

:wq! 当文件时只读时,强制写入并保存

如果报错E121:无法打开并写入文件

使用命令:w !sudo tee %

linux vi和vim编辑器的更多相关文章

  1. Linux vi和vim编辑器(1)

    1:vi和vim的三种常见模式  1.1正常模式 在正常模式下,我们可以使用快捷键: 以vim打开一个档案就直接进入一般模式了(这是默认的模式).在这个模式中,你可以使用[上下左右」按键来移动光标,你 ...

  2. Linux 入门记录:五、vi、vim 编辑器

    一.vi.vim编辑器 vi 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发.当时名字叫做 ex.vi 支持绝大多数操作系统(最早在类 Unix 操作系统的 BSD上 ...

  3. Linux学习之十三-vi和vim编辑器及其快捷键

    vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...

  4. Linux系统vi或者vim编辑器中如何显示行号

    设置行号很简单 我们要到vi或者vim编辑器的命令模式下,输入set number :set number 按下回车就显示行号了 那么怎么关闭行号呢? 很简单,我们只要再到vi或者vim编辑器的命令模 ...

  5. Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳

    Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 25 转载请注明出处! 目录 Windows & Lin ...

  6. vi与vim编辑器与解决vim编辑异常

    目录 一:vi与vim编辑器 二:解决vim编辑异常 一:vi与vim编辑器 vim是vi的升级版编辑器,就是vim比vi丰富一些. 1.安装vim 命令 yum install vim -y 2.打 ...

  7. Linux实操篇 vi和vim编辑器

    vi和vim的基本介绍 所有的Linux系统都会内建vi文本编辑器. vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计.代码补完.编译及错误跳转等 ...

  8. linux的vi和vim编辑器操作

    vi:linux内部的文本编辑器:vim:vi的增强版,具有程序编辑的能力. vi和vim的三种常见模式: (1)正常模式(一般模式):vim一打开就是这种模式,此模式下可以使用各种快捷键,比如复制粘 ...

  9. Linux 笔记 - 第七章 Vi 和 Vim 编辑器

    博客地址:http://www.moonxy.com 一.前言 Vi 与 Vim 都是多模式编辑器,是 Linux 中必不可少的工具.不同的是 Vim 是 Vi 的升级版本,它不仅兼容 Vi 的所有命 ...

随机推荐

  1. Python课程笔记(十)

    不陌生,之前学习一个开源SpringBoot项目,Mysql5.5更换到5.7搞得头疼. 数据库连接的坑之前写的IDEA系列连接会遇到的问题.课程代码 今天上课就主要学习了python如何连接mysq ...

  2. 【做题记录】CF1444A Division

    CF1444A Division 题意: 给定 \(t\) 组询问,每组给两个数 \(p_i\) 和 \(q_i\) ,找出最大的整数 \(x_i\) ,要求 \(p_i\) 可被 \(x_i\) 整 ...

  3. IDA*、剪枝、较难搜索、扫描——DNA sequence HDU - 1560

    万恶之源 翻译 题意就是给出N个DNA序列,要求出一个包含这n个序列的最短序列是多长 这是一道搜索题,为什么呢?从样例可以感受到,我们应该从左往右"扫描",从n个DNA序列中取出某 ...

  4. sort命令的学习与实践

    一.用man sort 查看sort的帮助文档 *sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@ro ...

  5. 第01课 OpenGL窗口(4)

    下面的代码处理所有的窗口消息.当我们注册好窗口类之后,程序跳转到这部分代码处理窗口消息. LRESULT CALLBACK WndProc( HWND hWnd, // 窗口的句柄 UINT uMsg ...

  6. dubbo 配置 loadbalance 不生效?撸一把源码

    背景 很久之前我给业务方写了一个 dubbo loadbalance 的扩展(为了叙述方便,这个 loadbalance 扩展就叫它 XLB 吧),这两天业务方反馈说 XLB 不生效了 我心想,不可能 ...

  7. 如何在SimpleNVR用Excel表格将通道配置简单化

    进入本世纪的第三个十年,流媒体们"绞尽脑汁",依靠技术不断提升用户的体验感.熟悉SimpleNVR的用户都知道,目前SimpleNVR已实现对接自有流媒体服务器平台,不限制观看人数 ...

  8. 02-Java中的锁详解

    I. 使用Lock接口 只要不涉及到复杂用法,一般采用的是Java的synchronized机制 不过,Lock可以提供一些synchronized不支持的机制 非阻塞的获取锁:尝试获取锁,如果能获取 ...

  9. python3+Robotframework+ride+Selenium2Library+Autoitlibrary环境搭建

    1.安装python3.8 第一步是安装Python:https://www.python.org/,RF框架是基于python 的,所以一定要有python环境.将python-3.8.2-amd6 ...

  10. JMeter学习笔记--录制脚本(一)

    ---------------------------------------------------------------------------------------------------- ...