热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Vim编辑器基础命令与模式详解

本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。
Vim编辑器基础命令与模式详解

文章目录

  • Vim编辑器简介
  • Vim模式介绍
  • 普通模式命令
  • 插入模式命令
  • 命令行模式命令


Vim编辑器简介

Vim是Unix和类Unix系统中广泛使用的高级文本编辑器。它不仅继承了Vi的强大功能,还增加了许多现代特性,如语法高亮、多级撤销、插件支持等。Vim与Vi完全兼容,同时提供了更丰富的编辑功能。

Vim模式介绍

Vim有三种主要模式:普通模式、插入模式和命令行模式。每种模式都有特定的功能和命令集。

普通模式命令

当您打开一个文件时,默认进入的是普通模式。以下是常用的普通模式命令:

命令作用
yy复制当前行
p粘贴
数字 yy复制指定行数
数字 p粘贴指定行数
dd删除当前行
数字 dd删除多行
u撤销操作
y$复制光标到行尾的内容
yw复制一个单词
dw删除一个单词
d$删除从光标到行尾的内容
x删除光标后的字符
X删除光标前的字符
R替换模式
0移动到行首
$移动到行尾
w移动到下一个单词的开头
e移动到单词的结尾
b移动到上一个单词的开头
gg跳转到文件开头
G跳转到文件末尾
H跳转到屏幕顶部
M跳转到屏幕中间
L跳转到屏幕底部
:line_number跳转到指定行

插入模式命令

在普通模式下按i、o或a键可以进入插入模式,进行文本编辑:

命令作用
i在当前光标之前插入文本
o在当前行下方新开一行并插入文本
a在当前光标之后插入文本
I在当前行首插入文本
A在当前行尾插入文本
O在当前行上方新开一行并插入文本

按【Esc】键退出插入模式,返回普通模式。

命令行模式命令

命令行模式用于执行各种辅助操作,如保存文件、退出编辑器、查找和替换文本等:

命令作用
:w保存文件
:q退出编辑器
:wq 或 :x保存并退出
:wq!强制保存并退出
:q!不保存并强制退出
:set nu显示行号
:set nonu关闭行号
/pattern搜索匹配的文本
n/N查找下一个/上一个匹配项
:noh清除搜索高亮
:s/old/new替换当前行第一个匹配项
:s/old/new/g替换当前行所有匹配项
:%s/old/new替换所有行的第一个匹配项
:%s/old/new/g替换所有行的所有匹配项

推荐阅读
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • Vim怎么批量处理文件将tab变为space? ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 如何在CAD查看器中同时打开并对比两张DWG图纸
    本文将详细介绍如何使用专业的CAD查看软件,如迅捷CAD看图,来同时打开和对比两张DWG格式的CAD图纸。无论是在设计审核还是项目管理中,掌握这一技能都能显著提高工作效率。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
author-avatar
阿凡达0205
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有