首页 > 系统相关 >Linux的vi/vim指令

Linux的vi/vim指令

时间:2022-12-17 18:37:26浏览次数:33  
标签:vi 模式 vim 命令 光标 Linux 输入


但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

相关文章:​​史上最全Vim快捷键键位图 — 入门到进阶​​

什么是 vim?

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方网站 (​​www.vim.org/​​) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim 键盘图:

Linux的vi/vim指令_vim

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode) 。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

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

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:

Linux的vi/vim指令_命令模式_02

vi/vim 使用实例

使用 vi/vim 进入一般模式

如果你想要使用 vi 来建立一个名为 runoob.txt 的文件时,你可以这样做:

$ vim runoob.txt

直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

Linux的vi/vim指令_命令模式_03

按下 i 进入输入模式(也称为编辑模式),开始编辑文字

在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!

在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。

这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

Linux的vi/vim指令_掘金·日新计划_04

按下 ESC 按钮回到一般模式

好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!

在一般模式中按下 :wq 储存后离开 vi

OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开!

Linux的vi/vim指令_掘金·日新计划_05

OK! 这样我们就成功创建了一个 runoob.txt 的文件。

vi/vim 按键说明

除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

Linux的vi/vim指令_vim_06

Linux的vi/vim指令_命令模式_07

Linux的vi/vim指令_输入模式_08

Linux的vi/vim指令_掘金·日新计划_09

第二部分:一般模式切换到编辑模式的可用的按钮说明

Linux的vi/vim指令_掘金·日新计划_10

第三部分:一般模式切换到指令行模式的可用的按钮说明

Linux的vi/vim指令_输入模式_11

Linux的vi/vim指令_vim_12

特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。

举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

vim 中批量添加注释

方法一 :块选择模式

批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 //# ,输入完毕之后,按两下 ESCVim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

方法二: 替换命令

批量注释。

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

Linux的vi/vim指令_vim_13

vim快捷键补充(插入模式)

  • 自动补全:ctrl + n
  • \p<  插入一个include,并把光标置于<>中间
  • \im  插入主函数
  • \ip  插入printf,并自动添加**\n**,且把光标置于双引号中间

vim快捷键补充(编辑模式)

  1. dw  删除一个单词(配合b:将光标置于所在单词的首部)
  2. yw  复制一个单词(配合p:粘贴)

vim快捷键补充(插入与编辑模式通用)

  1. \rr  运行程序
  2. \rc  保存并编译程序(会生成二进制文件)

标签:vi,模式,vim,命令,光标,Linux,输入
From: https://blog.51cto.com/u_15641375/5949955

相关文章

  • Linux 磁盘管理
    。Linux磁盘管理常用三个命令为df、du和fdis的整体磁盘使用量du(英文全称:diskused):检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情......
  • Linux 文件与目录管理
    Linux的目录结构为树状结构,最顶级的目录为根目录/。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对......
  • Linux 文件基本属性
    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。......
  • Linux 系统目录结构
    登录系统后,在当前命令窗口下输入命令:ls/你会看到如下图所示:树状目录结构:以下是对这些目录的解释:/bin:bin是Binaries(二进制文件)的缩写,这个目录存放着最经常使用的命......
  • Linux学习系列:挂载windows下的磁盘
    一、场景最近在研究双系统(Windows10+Centos7)部署,已经成功将centos7部署起来。因为是双系统,所以要看windows下磁盘的东西,只能挂载到某个目录去查看。本篇博客主要是阐述相关......
  • 1、在自己的腾讯云Linux服务器上配置Sonic
    配置DOCKER配置Docker-compose   ......
  • wpf GridView去除右侧空白列
    页面<ListViewSizeChanged="ListView_SizeChanged"Loaded="ListView_Loaded"><ListView.View><GridView><GridViewColumnHeader="col1"Width=......
  • WebService简单教学
    目录##springboot整合CXF的快速入门##一,服务端提供webservice服务1,实体类User2,webservice接口3,webservice接口的实现类4,CXF配置类5,pom依赖配置6,页面访问服务二,客户端访问we......
  • Linux之VI和VIM
    vi,系统自带,不需要额外安装,没有vim功能多.vim,在最小化安装的版本中默认没有,需要额外安装,vi的升级版,大部分情况都是使用vim.[root@stu~]#yuminstall-yvim使用:直......
  • Linux之修改主机名和IP
    修改主机名/etc/hostname主机名配置文件主机名修改建议:看到主机名就知道这个节点的作用.查看主机名[root@stu~]#cat/etc/hostnamestu85-model或者[root@web01~]#hos......