每天学习一个Linux命令之vim

每天学习一个Linux命令之vim

Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。本篇博客将介绍一些常用的Vim命令及其选项,帮助您更好地使用Vim进行文本编辑。

命令及选项

以下是Vim的常用命令及其可用选项:

1. 打开文件

$ vim filename

选项:

  • -R:以只读模式打开文件
  • +n:从第n行开始打开文件
  • +:从文件末尾打开文件

2. 保存和退出

  • 保存:在命令模式下输入:w [filename],将当前文件保存为指定的文件名。如果不指定文件名,则保存为原始文件名。
  • 退出:在命令模式下输入:q,退出Vim编辑器。如果文件已被更改但未保存,可以使用:q!强制退出而不保存更改。

3. 移动光标

  • h:将光标向左移动一格
  • j:将光标向下移动一行
  • k:将光标向上移动一行
  • l:将光标向右移动一格
  • 0:将光标定位到行首
  • $:将光标定位到行尾
  • G:将光标定位到文件末尾
  • gg:将光标定位到文件开头
  • nG:将光标定位到第n行

4. 搜索和替换

  • /pattern:向后搜索指定的模式,例如/hello将搜索文件中的"hello"。
  • ?pattern:向前搜索指定的模式。
  • n:在搜索模式下,定位到下一个匹配项。
  • N:在搜索模式下,定位到上一个匹配项。
  • :%s/pattern/replacement/g:全局替换指定的模式为指定的替换字符串。

5. 复制、粘贴和剪切

  • 复制:首先使用v进入可视模式,然后使用光标移动选择要复制的文本。按下y将选中的文本复制到剪贴板。
  • 粘贴:将光标定位到要粘贴的位置,按下p将剪贴板中的内容粘贴到当前位置。
  • 剪切:首先使用v进入可视模式,然后使用光标移动选择要剪切的文本。按下d将选中的文本剪切到剪贴板。

6. 撤销和重做

  • 撤销:在命令模式下按下u撤销上一步操作。
  • 重做:在命令模式下按下Ctrl + r重做上一步撤销的操作。

7. 分割窗口

  • :split [filename]:将当前窗口水平分割为两个窗口,并在新窗口中打开指定文件。
  • :vsplit [filename]:将当前窗口垂直分割为两个窗口,并在新窗口中打开指定文件。
  • :q:关闭当前窗口。

结论

Vim的功能非常强大,使用它可以高效地进行文本编辑。本篇博客介绍了一些常用的Vim命令及其选项,希望对您在日常使用中有所帮助。通过不断学习和实践,您将更加熟练地使用Vim,并发现更多强大的功能。祝您编程愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0基础 三个月掌握C语言(13)

数据在内存中的存储 整数在内存中的存储 在讲解操作符时 我们就已经学习了该部分的内容 这里我们回顾一下 整数的二进制表示方法有三种:原码 反码 补码 有符号的整数(unsigned) 三种表达方式均有符号位和数值位两部分 最高位的一位被当…

文件包含漏洞之包含SESSION(CTF题目)

这次使用的环境是ubuntunginxphpmysql 首先四个文件源码在以下链接中: 一道CTF题:PHP文件包含 | Chybeta 我们注册一个用户名111密码111,然后登录查看cookie和linux的session,因为我们的de服务器 是手动搭建的,所以…

Java IO模型

NIO Java IO 模型1. 什么是IO计算机结构角度应用程序角度 2. 常见的内存模型3. Java中常见的IO模型3.1 BIO(Blocking I/O)3.2 NIO(Non-blocking/New I/O)同步非阻塞 IO 模型I/O 多路复用模型 3.3 AIO(Asynchronous I/O…

Python从入门到精通秘籍八

一、Python中函数的多返回值 在Python中,函数可以返回多个值。这种特性可以通过将多个变量包装在一个元组或列表中来实现。下面是一个示例代码: def multiple_returns():a 1b 2c 3return a, b, cresult multiple_returns() print(result) # 输出&…

Spring6.1新特性,四种方式调用REST接口(RestClient、WebClient、RestTemplate、HTTP Interface)

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 官网 REST Clients :: Spring Framework The Spring Framework provides the following choices for…

电子元器件批发采购中的供应链透明度与可追溯性

电子元器件批发采购中的供应链透明度与可追溯性是非常重要的,特别是考虑到供应链的复杂性和全球化。以下是一些关于如何增强供应链透明度和可追溯性的建议: 供应商审核与选择:对潜在的供应商进行全面的审核和评估,了解其供应链结构…

Leetcode-06-Z字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右…

【Leetcode】1793. 好子数组的最大分数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 n u m s nums nums (下标从 0 0 0 开始)和一个整数 k k k 。 一个子数组 ( i , j ) (i, j) (i,j) 的 分数 定义为 m i n ( n u m s …

ROS2从入门到精通0-3:VSCode 搭建 ROS2 工程环境

目录 0 专栏介绍1 Ubuntu下安装VSCode1.1 基本安装1.2 将VSCode添加到侧边栏 2 VSCode集成相关插件3 VSCode运行ROS2环境步骤3.1 安装编译依赖项3.2 创建工作空间和源码空间3.3 启动VSCode与配置 4 测试工程环境4.1 C版本4.2 Python版本 0 专栏介绍 本专栏旨在通过对ROS2的系统…

一、初识 web3

瑾以此系列文章,献给那些出于好奇并且想要学习这方面知识的开发者们 在多数时间里,我们对 web3 的理解是非常模糊的 就好比提及什么是 web1 以及 web2,相关概念的解释是: 1. 从 Web3 的开始 Web3,也被称为Web3.0&…

idea error java:compilation failed:internal java compiler error

idea中编译运行maven项目报错如下 idea error java:compilation failed:internal java compiler error 尝试如下操作 注意:jdk8 需要设置4个地方 1.首先打开File->Project Structure中的Project,将SDK和language level都设置一致,如下…

大语言模型无代码构建知识图谱+视频链接

之前通过系列文章介绍了如何利用HugggingFists系统无代码构建知识图谱,这次给出视频,方便大家更直观的了解如何操作。视频链接如下: 《玩转数据之利用LLM构建知识图谱》 文章链接: 《大语言模型无代码构建知识图谱(1)--提示工程准…

基于Java的考研专业课程管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…

2024届 C++ 刷题 笔试强训 Day 03

选择题 01 以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> void main() {char a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p;int i;i 8;p a i;printf("%s\n", p - 3); }A 6 B 6789 C ‘6’ D 789 题目解析&#xff1a; 题目中定义了一个…

js改变页面上输入框的值

方案一&#xff08;大众方案包含vue和原生js的输入框&#xff09; // 填写输入框内容&#xff0c;并且赋值给输入框 function fillInput(input, value) {input.value value;input.dispatchEvent(new Event(input, {bubbles: true,cancelable: true,composed: true}));// 所以…

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

matplotlib绘制统计特征图和分布特征图

文章目录 一、统计特征图绘制1.需求2.代码方法一方法二总结 二、分布特征图绘制1.需求2.代码 一、统计特征图绘制 1.需求 我现在有两个数据集Pdata和Cdata分别在DataFrame对象中&#xff0c;我现在想对这两个数据集进行统计特征分析&#xff0c;并用直方图展示出来。 2.代码…

CSS学习(3)-浮动和定位

一、浮动 1. 元素浮动后的特点 脱离文档流。不管浮动前是什么元素&#xff0c;浮动后&#xff1a;默认宽与高都是被内容撑开&#xff08;尽可能小&#xff09;&#xff0c;而且可以设置宽 高。不会独占一行&#xff0c;可以与其他元素共用一行。不会 margin 合并&#xff0c;…

护眼大路灯好不好用?中国路灯排行榜

护眼大路灯好不好用&#xff1f;关于这个问题一直有争议&#xff0c;一部分人觉得大路灯不好用&#xff0c;而且会增加支出&#xff0c;绝大多数人则认为大路灯特别好用&#xff0c;之所以会有不同的看法&#xff0c;小编觉得&#xff0c;还是大家使用的大路灯不同&#xff0c;…

[C语言]——函数递归

目录 一.什么是递归 1.递归的思想&#xff1a; 二.递归的限制条件 三.递归举例 1.举例1&#xff1a;求n的阶乘 1.1分析和代码实现 1.2画图推演 2.举例2&#xff1a;顺序打印⼀个整数的每⼀位 2.1分析和代码实现 2.2画图推演 四.递归与迭代 1.举例3&#xff1a;求第…