首页 > 系统相关 >Linux快速入门(七)效率工具(Vim)

Linux快速入门(七)效率工具(Vim)

时间:2022-08-30 23:24:23浏览次数:48  
标签:入门 可以 模式 Vim 命令 当前 Linux 光标

Vim编辑器

所有的Linux系统都会内建一个Vi文本编辑器,而Vim是从Vi发展出来的一个高度可配置的文本编辑器,旨在高效的创建和更改任何类型的文本,它还可以根据文件的扩展名判别编程语言。
使用方式:vim 文件名

编辑器模式

Vim有三种编辑模式分别是:
(1) 普通命令模式
用户刚启动Vim时,就处于命令模式,在命令模式下,用户的输入会被识别为命令。在这个模式下可以进行文本的复制、粘贴、剪切等操作。在此模式下命令可以进行组合操作。

(2) 编辑模式
命令模式下按aio中的任意一个按键就可以切换到编辑模式,在编辑模式下按Esc键可以切换到普通命令模式编辑模式主要是对文件的内容进行编辑。

(3) 底线命令模式
命令模式下按:就可以切换到底线命令模式,在底线命令模式下按Esc可以切换到普通命令模式。在底线命令模式下,可以对文件内容进行检索、保存、退出等操作。

这三种模式的关系可以表示为(图像来源:菜鸟教程):

Vim命令汇总(图像来源:菜鸟教程):

常用命令

命令模式

通过Vim打开文件之后处于命令模式,在此模式下可以:

  • 光标移动
    (1)h左箭头键表示光标向左移动一个字符,j下箭头表示光标向下移动一个字符、k上箭头表示光标向上移动一个字符、l右箭头表示光标向右移动一个字符
    (2)gg:可以将光标移动到文件第一行G:可以将光标移动到文件的最后一行。如果要移动到指定的某一行可以使用nGn为一个具体的数字,比如想要移动到第三行可以输入3G,就可以跳转到第三行
    (3)$:将光标移动到当前光标所在行的末尾n<space>:可以将光标从当前位置向后移动n个位置

  • 文本操作
    (1)v:选择模式,在此模式下可以通过上下左右选择需要的文本,然后进行操作。
    (2)d:剪切当前选中的文本;dd:剪切当前行;ndd:剪切包括当前行在内的n行;dG:剪切从光标所在行到最后一行的数据,如果想要删除所有数据,可以将gg命令和dG命令组合使用,输入ggdG,光标会先跳转到第一行,然后删除当前行到最后一行的所有数据。可以将这几个命令当删除使用
    (3)y:复制选中的文本;yy:复制当前行;nyy:复制当前行在内的n行
    (4)p:在当前光标位置粘贴之前剪切或者复制的内容
    (5)u:撤销上一步操作

编辑模式

对文件的内容进行编辑,类似Word操作,在当前模式下可以通过Esc切换到普通命令模式,再通过:/?中的任意一个就可以切换到底线命令模式。

底线命令模式

在底线命令模式下Enter键表示输入完成,在此命令模式下可以:

  • 格式设置
    (1):set nu:显示当前文本的行号;:set nonu:取消行号显示
  • 文本检索、替换
    (1)/word:从光标当前位置向下查找第一个为word的字符串,使用n可以重复前一个查找操作,这样就可以从光标当前位置一直向下查找带有word的字符串,使用N可以反向重复前一个操作,与n相反,这样就可以从光标当前位置向上查找带有word的字符串;?word从光标当前位置向上查找第一个为word的字符串。
    (2) :n1,n2s/w1/w2/g:其中n1n2位数字,g表示全局搜索,该命令表示在第n1行与n2行之间寻找w1这个字符串,并将该字符串替换为w2:1,$s/w1/w2/g:将第一行到最后一行的w1替换为w2:1,$s/w1/w2/gc:将第一行到最后一行的w1替换为w2,且在替换前要求用户确认。
  • 文件操作
    (1):w:保存当前文件
    (2):q:退出当前文件(不保存)
    (3):q!:强制退出当前文件(不保存)
    (4):wq:保存当前文件并退出
    (5):wq!:强制保存当前文件并退出,如果是写入之后强制保存需要确保当前文件有写权限

标签:入门,可以,模式,Vim,命令,当前,Linux,光标
From: https://www.cnblogs.com/Timesi/p/16637764.html

相关文章

  • Linux快速入门(八)效率工具(SSH)
    环境(1)Kali(源主机),IP:10.211.55.4/24(2)Ubuntu(目标主机),IP:10.211.55.5/24SSHOpenSSH用于在远程系统上安全的运行Shell,假设现在需要在Kali机器上通过root用户远程登陆另一......
  • Linux操作系统中修改putty工具的ssh端口号(22)
    Linux服务器为了保证安全,需修改putty远程的默认端口22,具体操作步骤:1.在Linux服务器中登录用户名和密码(用root用户登录);2.输入vim /etc/ssh/sshd_config3.上下箭头移动......
  • JAVA入门基础_从零开始的培训_MYSQL基础
    目录1、数据库概述与MYSQL5.7、MYSQL8.0安装篇(基于Windows)MYSQL是什么,为什么要使用MYSQLMYSQL的四个版本MYSQL环境搭建MYSQL的安装与卸载Windows10下安装MYSQL8.26版......
  • JAVA入门基础_从零开始的培训_MYSQL高级
    目录第1章Linux下MySQL的安装与使用Linux下MYSQL的卸载安装MYSQL之前的准备步骤正式安装检查/tmp临时目录权限安装前检查依赖并卸载mariadb按照顺序依次安装MYSQL服务的初......
  • Linux的简单使用(2)
    文件目录指令:pwd:显示当前工作目录的绝对路径ls指令:基本语法:ls选项目录或是文件 -a:显示当前目录所有文件和目录,包括隐藏的 -l:以列表的方式显示信息cd指令:基本语法:c......
  • linux-常用的软件安装方式
    yum命令yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可......
  • Linux系统应用实验一:Linux系统安装与桌面环境使用
    说明:本文结尾提供了本文所有资料下载的链接供读者下载!实验指导书:实验报告:简要的说明和概述一下centos7系统根目录下各个文件目录:bin目录:bin是Bin......
  • 手机播放linux PulseAudio 声音 rtp推流
    https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/RTP/#howtolistentothepulseaudiortpstreamhttps://www.freedesktop.org/wiki/Softw......
  • linux-防火墙
    防火墙常用命令安装Firewall命令:yuminstallfirewalldfirewalld-configFirewall开启常见端口命令:firewall-cmd–zone=public–add-port=80/tcp–permanentfire......
  • Linux查看连接数,并发数
    Linux查看连接数,并发数_minigpsnet的博客-CSDN博客 https://blog.csdn.net/echo3/article/details/10312133Linux查看连接数,并发数内容来自于网络,非本人原创。1、查看......