【日常积累】Linux中vi/vim的使用

这篇具有很好参考价值的文章主要介绍了【日常积累】Linux中vi/vim的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

vim是由vi发展演变过来的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠、支持插件等功能,由于其功能相比vi来说更加强大,所以在实际工作中的使用更加广泛。

vim工作模式

Vim具有多种工作模式,常用的工作模式有:普通模式、插入模式、命令模式。其中,普通模式可以实现基本的光标移动与大量的快捷键操作,插入模式可实现文本的基本编辑功能,命令模式通过输入特定的指令实现特定的功能,如保存与退出等。

直接输入vim命令,即可开启该文本编辑器,默认将创建一个 新的文档(保存时需要指定文件名)。另外,如果vim命令后跟了文件名参数,则需要看该文件是否存在,如果存在,vim将打开该文件,如果不存在,vim将创建该文件。

vim编辑器默认会进入普通模式,插入模式可以通过以下按键进入。如下表1。

按键 功能描述
a 进入插入模式,后续输入的内容将插入至当前光标的后面
A 进入插入模式,后续输入的内容将插入至当前段落的段尾
i 进入插入模式,后续输入的内容将插入至当前光标的前面
I 进入插入模式,后续输入的内容将插入至当前段落的段首
o 进入插入模式并在当前行的后面创建新的空白行
O 进入插入模式并在当前行的前面创建新的空白行

当需要退回到普通模式或不知道自己当前处于什么模式时,可以通过Esc键返回到普通模式。最后,在普通模式下输入“:”, 即可进入命令模式;在“:”后输入指令,即可实现特定的功能。

在插入模式中,可以使用以下按键,如下表2:

按键 功能描述
各字符按键以及Shift组合 输入各种字符
ENTER 换行
BACK SPACE 删除光标前一个字符
DEL 删除光标后一个字符
方向键 在文本中移动光标
HOME/END 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标为输入/替换模式

Vim光标操作

vim中最简单的移动光标的方式是使用方向键(. 上、下、左、右)操作,但这种方式的效率太低,更高效的方式是使用快捷键,常用的快捷键如下表所示,所有的快捷键均在普通模式下直接使用。快捷键的使用需要在日常中多加使用记忆,不然很容易就忘记了。如下表3。

快捷键 功能描述
h 光标向左移动一位,多行可以添加数字在前面
j 光标向下移动一行(以回车为换行符),多行可以添加数字在前面
k 光标向上移动-一行,多行可以添加数字在前面
l 光标向右移动一位,多行可以添加数字在前面
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
gg 移动光标至文件首行
G 移动光标至文件末尾
nG 移动光标至第n行(n为数字,如n为10时表示第10行)
^ 光标移至当前行的首字符
$ 光标移至当前行的尾字符
fx 光标移至当前行的下一个x字符处(相当于查找并跳转至x字符)
Fx 光标移至当前行的上一个x字符处
w 光标向右移动- -个单词
nw 光标向右移动n个单词(n 为数字)
b 光标向左移动一个单词
nb 光标向左移动n个单词(n 为数字)

vim编辑文档

在vim编辑器中编辑文档内容主要有两种常用的方式:进入编辑模式操作和快捷键操作。进入编辑模式的方法已经在表1中有详细的描述,进入编辑模式后,即可以通过移动光标进行增加、删除、修改的基本操作,这种方法也是最简单的方式。另外,快捷键操作方式是在普通模式下输入相应的快捷键实现对应的功能,快捷键功能描述如下表4。

快捷键 功能描述
x 删除光标当前字符
dd 删除一行
ndd 删除n行(n为数字)
d$ 删除光标至行尾的内容
J 删除当前行的换行符,可以将两行合并为一行
u 撤销上一步操作,可以多次使用uu表示撤销两步操作
ctrl + r 重做上一次撤销的操作,相当于恢复。也可以多次使用进行多次恢复。
rx 将光标当前字符替换为x (x 为任何键盘单个输入)
yy 复制当前行
p 粘贴至当前行之后
P 粘贴至当前行之前(注意大小写)

vim查找与替换

当文档很长时,我们可以通过查找快速定位要找的内容,在vim中通过“/”关键字实现自上往下的查找功能,如,/password在当前文档的光标处向下查找password并显示,如果一个文档中有多个password, 可以通过快捷键n跳转至下一个匹配的关键词处,快捷键N将跳转至上一个匹配的关键词处。另外,“?”关键词实现了自下往上的查找功能,如,?password 从当前文档的光标处向上查找password并显示,此时快捷键n表示向上查看匹配,N表示向下查看匹配。

vim提供了非常好用的替换功能,可以快速完成大量的替换工作。

[root@VM-4-6-centos ~]# cp /etc/passwd /tmp/
[root@VM-4-6-centos ~]# vim /tmp/passwd

通过上面两条命令复制一份临时测试文档并编辑,我们可以对该文件实现多种替换功能,如下表5所示(在普通模式下,输入冒号“:”进入命令模式完成替换命令)。

指令 功能描述
:s/root/admin/ 将光标当前行中第-一个出现的root替换为admin,没有则不替换
:s/root/admin/g 将光标当前行中所有的root替换为admin
:2,4s/sbin/bin/g 将第二行至第四行之间的所有sbin替换为bin
:%s/nologin/login/g 将所有行的nologin都替换为login

vim的保存与退出

一般情况下,我们会通过命令模式输入特定的指令实现保存与退出功能,常用指令详见下表6。

指令 功能描述
:q! 不保存并强制退出
:wq 保存并退出
:x 保存并退出
:w 保存
:w a.txt 另存为a.txt,如果直接vim不指定打开文件,保存的时候就需要指定文件名
另一种保存方式为快捷键操作,在普通模式下输入ZZ,即可实现保存并退出文档。注意是大写的ZZ

更多使用技巧

显示行号

显示当前行是第几行的方式有很多,可以通过为文档添加行号来实现,添加行号的方法是在命令模式下输入:set number或简写:set nu即可。

忽略大小写.

在vim中查找时,你可能不清楚所要找的关键词的大小写,而vim默认是区分大小写的,
这时可以通过在命令模式下输入:set ignorecase,实现忽略大小写。

多窗口编辑

当需要同时编辑多个文档时,分割窗口就尤为重要了,**可以通过:split(水平分割)或者:vsplit(垂直分割)**来实现窗口的分割。如此可以实现编辑同一个文档的不同行或者不同文件,至于窗口的切换,可以使用如下快捷方式:
Ctrl+w+h快捷键表示跳转至左边一个窗口, Ctrl+w+l 快捷键表示跳转至右边一个窗口;
Ctrl+w+j快捷键表示跳转至下面一个窗口,Ctrl+w+k 快捷键表示跳转至上面一一个窗口。

在命令模式下输入:q(:close),两个命令可以关闭当前窗口。
在命令模式下输入:split second.txt,此命令会水平分割窗口并打开新的文件,如此实现多窗口多文件的编辑工作。默认的:split 为水平分割窗口,垂直分割可以使用:vsplit指令。

执行Shell命令

使用vim编辑文档的过程中,如需要执行一条Shell命令而不想退出Vim编辑器,可以通过:!{命令}的方式实现。例如,需要查看当服务器的IP地址时,则在命令模式下输入指令:!ip a 即可,执行完成后按回车键返回vim编辑器。

自动补齐

如果需要输入的内容在前面的行中已经出现过,那么vim可以根据上文内容自动补齐输入。例如,在文件某行需要之前的某个单词,以后需要再次输入单词的前一个或者几个首字母,然后使用快捷键Ctrl+N,通过上下键选择自己需要的即可实现自动补齐功能。
【日常积累】Linux中vi/vim的使用,日常积累,linux,vim,运维
注意:此时选中的是helloa。编辑器下方也会通过数字来显示当前的选择项。

块删除

某些情况下,我们需要删除多行的某一部分,操作如下:

  • 按下组合键“ctrl+v” 进入“块选择”模式,通过上下左右键选取块操作的行和列,注意是以进入块选择模式前光标所在的位置为基点。
  • 按下d (或者x键)即可删除被选中的整块,后面还可以通过p进行粘贴使用。

块插入

主要针对同时对多行添加相同的内容。操作如下:

  • 按下组合键“ctrl+v” 进入“块选择”模式,选取上下键选取需要插入内容的行,注意也是以进入块选择模式前光标所在的位置为基点选择行。
  • 按下shift+i(或者大写的字母"i")
  • 输入要插入的内容
  • 按ESC,之后就会看到插入的效果。
    【日常积累】Linux中vi/vim的使用,日常积累,linux,vim,运维
    更多vim的使用方法请自行探索。

更多关于Linux的知识请前往博客主页查看,编写过程中可能由于能力有限难免出现问题,敬请指出,谢谢。文章来源地址https://www.toymoban.com/news/detail-669179.html

到了这里,关于【日常积累】Linux中vi/vim的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux vi/vim

    目录 Linux vi/vim 什么是 vim? vim 键盘图 vi/vim 的使用 命令模式 输入模式

    2024年02月13日
    浏览(45)
  • Linux工具之vi/vim

    简单来说,vi和vim基本上都是所有Linux系统自带的编辑器,但是我们不排除在未来的某些极端条件下,需要利用vi/vim进行代码的编写或修改 其实vi和vim是一家子,他们都是多模式编辑器,而vim是vi的升级版,不仅支持vi的所有指令,还支持了语法高亮等特性,可视化操作甚至可

    2024年02月04日
    浏览(45)
  • Linux-- vi / vim 编辑器

            目录 vi vim 编辑器的三种编辑模式 vi vim 的使用         模式的切换          命令模式下的命令         底线模式 vi vim 是visual interface 的简称, 是linux中的经典文本编辑器, 同图形化界面中的文本编辑器一样, 但是vi是使用命令行来对文本进行编辑的最好选择

    2024年02月09日
    浏览(48)
  • Linux---vi/vim编辑器、查阅命令

    1.  vi vim编辑器三种模式 vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能, 可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。 命令模式(Command mode): 命令模式下,所敲的按键编辑器都理解为命令,

    2024年02月06日
    浏览(49)
  • Linux入门教程——VI/VIM 编辑器

    本文小新为大家带来 Linux入门教程——VI/VIM 编辑器 相关知识,具体内容包括 VI/VIM是什么 ,VIM的三种工作模式介绍,包括: 一般模式 , 编辑模式 , 指令模式 ,以及 模式间转换 等进行详尽介绍~ 不积跬步,无以至千里;不积小流,无以成江海。每天进步一点点,在成为强

    2024年02月21日
    浏览(46)
  • 5-Linux操作系统 vi/vim编译器

    一、vi编译器介绍   Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因 此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后,

    2024年02月08日
    浏览(38)
  • 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim

    目录 前言 简介 小试牛刀 vi/vim 工作原理及三种模式 常用快捷键 命令行图解 上一篇中已经预告,我们这篇主要说Linux中vi/vim 编辑器。它是我们使用Linux系统不可缺少的工具,学会了,你就可以在Linux世界里畅通无阻,学废了,常用操作你也会了,也是够用了,O(∩_∩)O vi是L

    2023年04月26日
    浏览(63)
  • linux虚拟机中vi / vim编辑文件,保存并退出

    1.打开文件 vi / vim + 文件名(例:   vim word.txt  )。          若权限不够,则在前方添加 sudo  (例: sudo vim word.txt  )来增加权限; 2.进入文件,按  i    键进入编辑模式。 3.编辑结束后按  Esc    键跳出编辑命令。 4.命令  :wq  (保存文件并退出)。 5.退出后可使用

    2024年02月08日
    浏览(39)
  • Linux vi/vim以及三种模式常用快捷键

    vi和vim vi 和 vim 都是在 Linux 系统中的文本编辑器。 vim 实际上是 vi 的增强版,提供了更多的功能和改进。 vi : vi 是一个经典的文本编辑器,几乎在每个 Linux 发行版中都预装了。 vi 的使用可以分为三个主要模式:命令模式(Command mode)、插入模式(Insert mode)和底行模式(

    2024年02月14日
    浏览(44)
  • 53.Linux day03 文件查看命令,vi/vim常用命令

    今天进行了新的学习。 目录 1.cat a.查看单个文件的内容: b.查看多个文件的内容:  c.将多个文件的内容连接并输出到一个新文件: d.显示带有行号的文件内容:  2.more  3.less  4.head 5.tail  6.命令模式 7.插入模式   8.图片解析 用于查看和连接文件内容 以下是 cat 命令的基本

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包