vim 修改文件

news/2024/9/18 23:10:27/ 标签: vim, 编辑器, linux

在 Vim 中修改文件是一个常见的任务。以下是一些基本步骤和命令,帮助你在 Vim 中编辑和保存文件。

打开文件

使用以下命令在终端中打开一个文件:

vim filename

基本模式

Vim 有三种基本模式:

  1. 正常模式(Normal mode):这是 Vim 的默认模式。你可以在此模式下进行导航和执行命令。
  2. 插入模式(Insert mode):在此模式下,你可以输入文本。
  3. 命令模式(Command mode):在此模式下,你可以执行保存、退出等命令。

进入插入模式

在正常模式下,按 i 键进入插入模式,然后你就可以开始输入文本了。

保存文件

在插入模式下编辑完文件后,按 Esc 键返回正常模式,然后输入以下命令保存文件:

:w

退出 Vim

要退出 Vim,可以在正常模式下使用以下命令:

  • 保存并退出:

    :wq
    
  • 直接退出(如果文件没有修改):

    :q
    
  • 强制退出(不保存修改):

    :q!
    

其他常用命令

  • 撤销操作

    在正常模式下,按 u 撤销上一步操作。

  • 重做操作

    在正常模式下,按 Ctrl + r 重做上一步撤销的操作。

  • 删除行

    在正常模式下,按 dd 删除当前行。

  • 复制行

    在正常模式下,按 yy 复制当前行。

  • 粘贴行

    在正常模式下,按 p 将复制的内容粘贴到当前行之后。

  • 查找文本

    在正常模式下,按 / 然后输入要查找的文本,按 Enter 开始查找。

  • 替换文本

    在正常模式下,输入以下命令进行全局替换:

    :%s/old_text/new_text/g
    

示例操作

假设你要修改一个名为 example.txt 的文件:

  1. 打开文件:

    vim example.txt
    
  2. 进入插入模式并编辑文件:

    i 键进入插入模式,输入或修改文本。

  3. 保存修改并退出:

    Esc 键返回正常模式,然后输入 :wq 保存并退出。

通过这些基本命令和操作,你可以在 Vim 中高效地编辑和管理文件。如果你需要更多高级功能或技巧,请随时提问。


http://www.ppmy.cn/news/1518860.html

相关文章

Linux 下查找运行中的 Java 进程及 .jar 文件位置

在 Linux 环境中,有时我们需要查找正在运行的 Java 进程以及它们对应的 .jar 文件位置。本文将介绍如何使用命令行工具来实现这一目标。 前言 在 Linux 系统中,我们经常需要监控正在运行的应用程序,特别是在出现问题时,了解应用程…

乐凡三防:工业界的硬核产品——重新定义三防平板的极限

在工业4.0的浪潮中,科技与制造业的深度融合催生了一系列高性能、高耐用的智能产品。乐凡三防平板,作为工业界的新宠,正以其卓越的防护性能和强大的功能,重新定义了三防平板的极限,成为硬核科技的代表。 硬核防护&#…

时空图卷积网络:用于交通流量预测的深度学习框架-1

摘要 准确的交通预测对于城市交通控制和引导至关重要。由于交通流的高度非线性和复杂性,传统方法无法满足中长期预测任务的需求,且往往忽略了空间和时间的依赖关系。本文提出一种新的深度学习框架——时空图卷积网络(STGCN)来解决交通领域的时间序列预测…

在Ubuntu 18.04上安装MySQL的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 MySQL 是一个开源的数据库管理系统,通常作为流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl&#xf…

discuz Upload Failed.

baidu搜索关键词 NGINX上传文件大小限制 在Nginx中设置文件上传大小限制,你需要修改client_max_body_size指令。默认情况下,该指令的值为1M,意味着上传文件大小不能超过1MB。 打开Nginx配置文件(通常是nginx.conf或者位于/etc/…

pyautogui的一些自动化示例,附代码

以下为您提供一些 pyautogui 的自动化示例及代码: 模拟鼠标点击和移动:import pyautogui # 获取屏幕的宽度和高度 screen_width, screen_height pyautogui.size() # 将鼠标移动到屏幕中心 pyautogui.moveTo(screen_width / 2, screen_height / 2) # 在…

Linux的常见指令

前言 Hello,今天我们继续学习Liunx,上期我们简单了解了Linux的基本用处,并了解了Linux的重要性,今天我们就继续更加深入的学习Linux,进行指令方面的学习,我们可以通过先学习简单的基础命令来学习Linux,并在…

css设置让整个盒子的内容渐变透明(非颜色渐变透明)

css设置让整个盒子的内容渐变透明(非颜色渐变透明) 效果核心css代码 效果 核心css代码 /* 设置蒙版上下左右渐变显示 */ mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 1…

LuaJit分析(一)LuaJit交叉编译

​​​​​​Android 使用ndk版本 r16b 在luajit2.1.0-beta3目录下创建一个脚本文件,armv7编译代码如下: make clean NDKE:/android-ndk-r16b #ndk路径 NDKABI21 NDKTRIPLEarm-linux-androideabi NDKVER$NDK/toolchains/$NDKTRIPLE-4.9 NDKP$NDKVER/…

QT基础之【模块】

QT基础之【模块】 写在前面版本信息内容全部模块QT基本模块QT附加模块增值模块技术预览模块QT工具 补充模块路径网络资料简要描述 摘要: 1.本文介绍了QT5.12.9的模块,主要核心内容来源于帮助文档,少量整理网络中的资料 2.分析查看安装中径中的…

代码随想录——回文子串(Leetcode 647)

题目链接 我的题解(双指针) 思路: 当然,以下是对您提供的代码的解释: class Solution {public int countSubstrings(String s) {// 初始化回文子字符串的数量int count 0;// 遍历字符串的每个字符,使用…

嵌入式Linux C应用编程指南-进程、线程(速记版)

第九章 进程 9.1 进程与程序 9.1.1 main()函数由谁调用? C 语言程序总是从 main 函数开始执行,main()函数的原型是: int main(void) 或 int main(int argc, char *argv[])。 操作系统下的应用程序在运行 main()函数之前需要先执行一段引导代…

深入解析HarmonyOS Image组件的使用与优化

在现代移动应用开发中,图像处理是一个至关重要的部分。HarmonyOS 提供了功能强大的图像组件,允许开发者从多种来源显示图像,如本地资源、网络资源、资源文件、媒体库和 Base64图像编码。本篇博客将深入探讨如何接地使用图像组件,并…

Golang | Leetcode Golang题解之第385题迷你语法分析器

题目: 题解: func deserialize(s string) *NestedInteger {index : 0var dfs func() *NestedIntegerdfs func() *NestedInteger {ni : &NestedInteger{}if s[index] [ {indexfor s[index] ! ] {ni.Add(*dfs())if s[index] , {index}}indexreturn…

C/C++二维码生成库qrencode编译与使用

1 qrencode介绍 qrencode 是一个用于生成 QR 码(Quick Response Code)的工具和库。QR 码是一种矩阵条形码或二维条形码,能够在水平和垂直方向上存储信息。qrencode 支持多种编码方式,并能够生成不同复杂度和错误校正级别的 QR 码…

R语言统计分析——单因素协方差分析

参考资料:R语言实战【第2版】 单因素协方差分析(ANCONA)扩展了单因素方差分析(ANOVA),包含一个或多个定量的协变量。下面使用multcomp包中的litter数据集进行操作: # 加载数据集 data(litter,p…

web笔记:JSP基础

一、什么是JSP? 建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在。 HTML代码用来实现网页中静态内容的显示。Java代码用来实现网页中动态内容的显示。 二、JSP的运行原理 由JSP引擎(JSP容器)将jsp转换为Servlet 当客…

【生成模型系列(初级)】自编码器——深度学习的数据压缩与重构

【通俗理解】自编码器——深度学习的数据压缩与重构 第一节:自编码器的类比与核心概念 1.1 自编码器的类比 你可以把自编码器想象成一个“智能压缩机”,它能够把输入的数据(比如图片)压缩成一个更小的表示(编码&#…

React 入门第七天:探索状态管理与Context API

在React学习的第七天,我深入了解了React的状态管理机制,特别是如何通过Context API来实现跨组件的状态共享。React的状态管理是组件交互的核心,而Context API则为全局状态的共享提供了一个简洁而强大的解决方案。 1. React 中的状态管理 Re…

在Ubuntu 16.04上安装MongoDB的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 MongoDB 是一款常用于现代 Web 应用程序的免费开源 NoSQL 文档数据库。本教程将帮助您在服务器上为生产应用程序环境设置 MongoDB…