首页 > 系统相关 > 认识vi (Ubuntu)

认识vi (Ubuntu)

时间:2023-08-27 17:34:02浏览次数:44  
标签:文件 删除 认识 vi 模式 Ubuntu 移动 光标

一:概述

  学习linux就必须知道vi,这是所有Linux发行版本都会有的一个文本编译器,可以用来创建和编辑文件。vi也是Linux系统中最常用的工具之一,它还有一个升级版的vim,与vi相比,vim新增了很多的功能。

二:vi的基本用法

  如果用习惯了Windows系统下的Microsoft Word,初学vi对于初学者来说可能有些不适应,因为vi这款文本编译器没有像Word那样的图形化界面。不过也正是因为v不使用图形化界面,工作效率才会非常高。

  vi编辑器有三种模式,分别是命令模式、编辑模式和底行模式。这三种模式的用途如下表所示:

模式

说明

命令模式

默认情况下,打开vi编辑器就会自动进入命令模式。在这个模式下你可以使用上下左右键来移动光标、删除字符和整行的内容、进行复制粘贴等。

编辑模式

从命令模式切换到编辑模式可以使用i、o和a键。在该模式下,可以对文件内容进行编辑,要从该模式回到命令模式可以按下Esc键

底行模式

进入底行模式要在命令模式下输入:(冒号),之后光标会移动到屏幕最底行。在该模式下你可以对文件进行保存、查找或进行退出vi等操作

 这三种模式的关系图如下图所示:

                                认识vi (Ubuntu)_文件名

  由上图可知,在编译模式和底行模式都可以通过Esc键退回到命令模式,命令模式也可以分别进入到这两种模式。但是编辑模式和底行模式是不能相互切换的。这三种模式是你学习vi所需要知道的基础。

 了解了上面的三种编辑模式之后,可以启动编辑器来看一下它到底是什么样子。

启动方式很简单; vi 文件名

                                认识vi (Ubuntu)_文件名_02

  你输入的文件名可以是存在的也可以是不存在的。如果文件存在,你可以对文件内容进行编辑操作。如果文件不存在,系统也会自动帮你创建这个文件。

    启动vi之后,首先进入的就是命令模式。在终端输入vi file1可以使用vi打开file1文件,光标会定位到文件的开头,底部显示的是文件的基本信息,包括文件的名称和文件的基本信息。由于上面这个文件时已经存在的文件,所以底部并未显示New File(新文件)的字样,如果是一个不存在的文件,底部就会显示这样的信息。

    注意;底部显示的信息并不是文件本身的内容。

   三:命令模式下的按键操作

    首先是可以移动的光标的按键,如下表所示:

按键

说明

Ctrl + b

屏幕向上翻动一页

Ctrl + f

屏幕向下翻动一页

k 或 向上

将光标向上移动一个字符

j 或 向下

将光标向下移动一个字符

h 或 向左

将光标向左移动一个字符

l 或向 右

将光标向右移动一个字符

$

将光标移动至当前行的末尾

0(零)

将光标移动至当前行的开头

nG

移动到文件的第n行

想执行删除的操作,可以看看下面的几个按键:

按键

说明

x、X

x表示向后删除一个字符,X表示向前删除一个字符

D

从光标处删除到一行的末尾

dd

删除光标所在的那一行内容

dG

删除从光标到最后一行的的所有内容

nx

删除光标右边的n个字符

ndd

从光标向下删除n行

  当你想删除一个字符的时候,把光标移动到i指定的位置,按下x或者X键就可以删除了。在命令模式下,把光标移动到要复制的内容上,使用下面表格里的按键可以执行复制和粘贴操作,如下表所示:

按键

说明

yl

复制光标所在的字符

yw

复制光标所在的单词

yy

复制光标所在的一行

nyy

从光标向下复制n行

y0

从光标所在行的开头复制到光标之前

y$

从光标所在行的开头复制到行尾

P(大写)

如果复制的是一行或者多行的内容将会粘贴到光标的上一行,如果是字母或者单词将会粘贴在光标之前

p(小写)

如果复制的是一行或多行的内容将会粘贴到光标的下一行,如果是字母的或者单词的话,将会粘贴在光标之后

标签:文件,删除,认识,vi,模式,Ubuntu,移动,光标
From: https://blog.51cto.com/u_15912723/7253740

相关文章

  • VINS中旋转外参初始化
    VINS中的旋转外参初始化​ 为了使这个两个传感器融合,我们首先需要做的事情是将两个传感器的数据对齐,除了时间上的对齐,还有空间上的对齐。空间上的对齐通俗的讲就是将一个传感器获取的数据统一到另一个传感器的坐标系中,其关键在于确定这两个传感器之前的外参,本文将详细介绍VINS_......
  • Anaconda配置pydot库、graphviz库的方法
      本文介绍在Anaconda环境中,安装Python语言pydot与graphviz两个模块的方法。  最近进行随机森林(RF)的树的可视化操作,需要用到pydot与graphviz模块;因此记录一下二者具体的安装方法。  相关环境的版本信息:AnacondaNavigator:1.10.0;Python3.8.5。  话不多说,我们开始下载与......
  • ROG配置ubuntu20.04.5双系统要点
    开机长按F2进入bios设置,修改advanced参数:boot->关闭fastbootsecurity->关闭secureboot设置VMDcontroller为Disabled(其他电脑是修改硬盘的SATA和ACHI模式)。但是改了之后windows可能就进不去了。所以要先进入windows,按Win+R,输入MSCONFIG,回车运行并在【引导】页面勾选“......
  • pyinstaller打包openvino 2021.4.2
    打包准备1.安装pyinstallercondacreate-n opinstallpython=3.7-ycondaactivate opinstallpip installopenvinopipinstallpyinstaller2.将openvino文件夹复制到代码同级目录下D:\ProgramData\anaconda3\envs\openvino_install\Lib\site-packages\openvino拷贝至......
  • mormot2 笔记(四) Services的使用
    constructorTMyRestServer.Create(Port:Word);begininheritedCreate;FRestServerDB:=TRestServerDB.Create(TOrmModelFactory.ModelInstance,SQLITE_MEMORY_DATABASE_NAME);FRestServerDB.DB.Synchronous:=smOff;FRestServerDB.DB.LockingMode:=lmExc......
  • linux下vim命令详解
    高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx    开始记录宏,并将结果存入寄存器xq    退出记录模式@x    播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退......
  • hibernate——初步认识
    开始学习hibernate了,跟着网上的教学视频边看边学。现在有些迷茫,不知道学这些东西,以后能不能用得上,也不知道未来会发展成什么样子,也不知道我的基础算是打好了没有,总觉得学这些框架,有点浮沙筑高台的感觉,心里很不踏实。知道的都是些表面的东西,框架底层是什么样的,看看那些源代码,想看懂......
  • CF1444A Division
    思路首先特判特殊情况,若\(p_i\)本身不可被\(q_i\)整除,那么\(x_i\)就直接取\(p_i\)最大。否则的话,\(p_i=q_i\timesk\)。所以\(q\)的质因数,\(p\)都有,并且数量一定大于等于\(q\)的这个质因数的数量。那么如果\(x_i\)的某个质因数个数小于\(q_i\)的话,\(x_i\)就......
  • 最完美WIN10_Pro_22H2.19045.3393软件选装纯净特别版VIP52.0
    【系统简介】=============================================================1.本次更新母盘来自UUP_WIN10_PRO_22H2.19045.3393。进一步精简优化调整。2.只为呈现最好的作品,手工精简优化部分较多。3.OS版本号为19045.3393。个别要求高的就下MSDN吧,里面啥功能都有。4.集成《DrvCeo......
  • Django学习小记[6]——Class-based View
    这节我们讲一下Class-basedView,为什么要有这个Class-basedView呢?view不都是一个方法吗?跟类有啥关系?其实答案很明显,用类其实是为了抽象,抽象出通用的,将可变的暴露出来,这样我们就可以用最少的代码实现复杂的功能了。Django中,对那些我们平时经常用的View进行了封装,比如用于渲染一......