热门标签 | 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替换所有行的所有匹配项

推荐阅读
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Unity编辑器插件:NGUI资源引用检测工具
    本文介绍了一款基于NGUI的资源引用检测工具,该工具能够帮助开发者快速查找和管理项目中的资源引用。其功能涵盖Atlas/Sprite、字库、UITexture及组件的引用检测,并提供了替换和修复功能。文末提供源码下载链接。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
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社区 版权所有