当前位置: 首页 > news >正文

【Linux】Linux环境基础开发工具_2

文章目录

  • 四、Linux环境基础开发工具
    • 2. vim
      • vim的常见模式
  • 未完待续


四、Linux环境基础开发工具

2. vim

vim 是Linux下的一款 多模式编辑器 ,可以用来写代码,是 vi 的升级版。
在这里插入图片描述

在这里插入图片描述

此时无法输入,需要切换模式。
在这里插入图片描述
如上图,i 就是切换成 插入模式 ,此时就可以向文件里输入了。

在这里插入图片描述

输入完了又该怎么退出呢?按 q 是没有用的,要按 ESC 键退出插入模式。然后怎么退出 vim 呢?此时,输入 :wq 就是保存并退出的意思。
在这里插入图片描述
在这里插入图片描述
vim 里面还有许多子命令,来进行代码的编写操作。

vim的常见模式

命令模式vim 打开的时候,默认的模式。此时所有的输入都被当作 命令 来看,除非你误触了模式切换的命令。
插入模式 :可以由 命令模式 通过输入 o 、i 、a 等可以切换到插入模式。输入 ESC 可以退出 插入模式 进入到 命令模式
底行模式 :可以由 命令模式 通过输入 : 进入 底行模式 。输入 ESC 可以退出 底行模式 进入到 命令模式

插入模式 不能直接进入到 底行模式
底行模式 不能直接进入到 插入模式

命令模式:
按 $ :移动到光标所在行的“行尾”
按 ^ :移动到光标所在行的“行首”
按 G :将光标移动到文章的最后
n + G :将光标移动到第 n
按 gg :将光标移动到文本开始
按 h :将光标向左移动一格,相当于方向键的 ←
按 j :将光标向下移动一格,相当于方向键的 ↓
按 k :将光标向上移动一格,相当于方向键的 ↑
按 l :将光标向右移动一格,相当于方向键的 →
按 yy :将光标所在行复制到缓冲区。
n + yy :可以将光标所在行开始的 n 行复制到缓冲区。
按 p :可以将缓冲区的字符粘贴到光标所在的下一行。
n + p :可以粘贴 n 次。
按 u : 可以撤销上一条命令操作。
按 Ctrl + r : 可以反撤销。(对撤销进行撤销)
按 dd :删除光标所在行,剪切功能,可以使用粘贴。
n + dd :可以从光标所在行开始删除(剪切) n 行。
按 ~ :可以快速大小写转换。
按 r + c:可以换当前光标所在字符替换成 c
n + r + c :可以批量替换字符。
按 R :进入 替换模式 ,接下来所写的所有字符都将替换之前的字符。想要退出 替换模式ESC 即可。
按 x :可以删除光标所在字符。
n + x :可以批量删除。
按 X :可以向左侧删除(删除光标所在行的左侧字符)。
n + X :可以批量删除。
按 w :可以按单词在行内从左向右移动。
按 b :可以按单词在行内从右向左移动。
按 # :可以高亮(选中)一个关键字。接着按 n 可以往下查找选中的关键字。

底行模式:
w :保存。
w! :强制保存。
q :退出。
q! :强制退出。
wq :保存并退出。
wq! :强制保存并退出。
! + 命令 :不退出vim,并执行shell命令。
/ + c :查找 c 字符/字符串。
vs + 文件 :与另一个文件进行分屏比较,文件可不存在。光标在哪个界面,我们就正在编辑哪个文件,底行也是一样。按 Ctrl + ww 可以实现光标多终端切换。
set nu :可以显示行号。
set nonu :可以取消显示行号。

在这里插入图片描述


未完待续

相关文章:

【Linux】Linux环境基础开发工具_2

文章目录 四、Linux环境基础开发工具2. vimvim的常见模式 未完待续 四、Linux环境基础开发工具 2. vim vim 是Linux下的一款 多模式编辑器 ,可以用来写代码,是 vi 的升级版。 此时无法输入,需要切换模式。 如上图,i 就是切换成…...

长方形边框 上方中间有缺口 css

<div class"text_6">大234234师掌4234柜</div><div class"text-wrapper_1"><span class"paragraph_1">四川慧创云戈科技有限公司推出的“大师掌柜”&#xff0c;是一个以餐饮外卖为切入口&#xff0c;专注实体小店新零售…...

2024-05-29 架构-程序设计-思考

摘要: 最近在抽出时间做一个数据库的driver, 其中有些问题驱动的软件代码的思考&#xff0c;是很值得回味的。 做的系统&#xff0c;所思考的问题&#xff0c;所设计的解决方案&#xff0c;其实都是可以看作是对解决问题方式。而不仅仅是某个类库的API的使用&#xff0c;某个…...

关于网络的基础知识

大家好&#xff0c;在当今数字时代&#xff0c;网络已经成为我们生活中不可或缺的一部分&#xff0c;它连接着世界的每一个角落&#xff0c;让信息、资源和人们彼此之间无阻碍地交流和共享。然而&#xff0c;对于许多人来说&#xff0c;网络仍然是一个神秘而复杂的领域&#xf…...

CTF网络安全大赛简单web题目:eval

题目来源于&#xff1a;bugku 题目难度&#xff1a;简单 一道简单web的题目 题目源代码&#xff1a; <?phpinclude "flag.php";$a $_REQUEST[hello];eval( "var_dump($a);");show_source(__FILE__); ?> 这个PHP脚本有几个关键部分&#xff0c;但…...

Linux通过 SSH 使用 rsync 进行文件传输

目录 目的整体思路ssh建立连接A服务器上的操作输入 ssh-keygen 生成密钥对查看公钥 B服务器上的操作设置公钥认证 A服务器上的操作使用SSH登录进行测试 同步数据知识拓展SSH&#xff08;Secure Shell&#xff09;rsync&#xff08;Remote Sync&#xff09; 目的 使用SSH&#…...

【保姆级介绍下Foxmail 邮箱】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

ABAP MD04增强排除MRP元素

场景 MD04跑出来很多MRP元素&#xff0c;用户想手工控制某些MRP元素不参与运算 分析 增强点还蛮好找的&#xff0c;控制MRP元素是否参与运算用下面的se19三代增强点就可以&#xff0c;打个断点看下MD04进的哪个增强点就行 旧版本的用这个&#xff1a;MD_CHANGE_MRP_DATA 新…...

构建一个简单的情感分析器:使用Python和spaCy

构建一个简单的情感分析器&#xff1a;使用Python和spaCy 引言 情感分析是自然语言处理&#xff08;NLP&#xff09;中的一项重要技术&#xff0c;它可以帮助企业和研究人员理解公众对特定主题或产品的看法。 在本篇文章中&#xff0c;我们将使用Python编程语言和 spaCy 库来构…...

数据库设计实例---学习数据库最重要的应用之一

一、引言【可忽略】 在学习“数据库系统概述”这门课程时&#xff0c;我一直很好奇&#xff0c;这样一门必修课&#xff0c;究竟教会了我什么呢&#xff1f; 由于下课后&#xff0c;&#xff0c;没有拓展自己的眼界&#xff0c;上课时又局限于课堂上老师的讲课水平&#xff0c;…...

数据结构算法题day05

数据结构算法题day05 题目算法思想代码运行代码 题目 从有序表中删除所有其值重复的元素&#xff0c;使表中所有元素的值均不同。算法思想 第一个元素&#xff08;不重复&#xff09;依次向后扫描&#xff0c;不重复就保留&#xff0c;重复&#xff08;不保留&#xff09;就删…...

关于《Java并发编程之线程池十八问》的补充内容

一、写在开头 在上一篇文章我们写《Java并发编程之线程池十八问》的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。 二、Runnable vs Callable 在创建线程的时候,一般会选用 Runnable 和 Callable 两种方式。 【源码对…...

扒出秦L三个槽点,我不考虑买它了

文 | Auto芯球 作者 | 雷慢 比亚迪的有一个王炸“秦L”&#xff0c;再一次吸引了我注意力&#xff0c; 我上一辆车刚卖不久&#xff0c;最近打算买第二辆车&#xff0c; 二手车和新车都有在看&#xff0c; 我又是一个坚定的实用主义者&#xff0c; 特别是现在的经济环境不…...

【408真题】2009-28

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…...

LeetCode---链表

203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 代码示例1&#xff1a;(直接使用原来的链表来进行移除节点操作) //时间复杂度: O(n) //空间复杂度: O(1) class Solu…...

idea 快捷键运用

ctrl d 向下复制一行 shiftalt↑/↓ 向上或者向下移动光标所在行 shiftctrl↑/↓ 向上或者向下移动光标所在行(自动对齐) shift F6 rename包名或者类名或者批量修改变量名(不建议更改项目名&#xff0c;包名也尽量别改) 输入if 然后ctrlshift回车 补全缺失的括号 shift …...

k8s问题

文章目录 本地搭K8s集群 bilibili什么是声明式API&#xff1f;kubectl apply Etcd数据库有什么特性&#xff0c;为什么K8S选用了Etcd数据库&#xff1f;K8S中一个node的生命周期是怎样的&#xff1f;服务发现机制介绍docker的实现原理介绍如果只是使用Linux命名空间进行分离&am…...

串口通信问题排查总结

串口通信问题排查 排查原则&#xff1a; 软件从发送处理到接收处理&#xff0c;核查驱动、控制及发送接收数据是否正常。硬件从发送到接收&#xff0c;针对信号经过的各段&#xff0c;分段核对信号是否正常。示波器、逻辑分析仪。用万用表、示波器、逻辑分析仪等工具&#xf…...

【教学类-59-】专注力视觉训练01(圆点百数图)

背景需求&#xff1a; 视觉训练的神奇效果&#xff0c;让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— &#x1f50d;视觉训练&#x1f50d; &#x1f539;想要提高宝宝的专注力&#xff0c;视觉训练是个绝佳方法&#xff01; &#x1f539;让宝宝仔细观察数字的路线&a…...

C 语言实例 - 循环输出26个字母

循环输出 26 个字母。 以下例子我们用变量 letter 来存储当前要输出的字母&#xff0c;然后&#xff0c;使用 for 循环来重复 26 次输出字母&#xff0c;并在每个字母后面加一个空格。 循环内部使用 printf 函数来输出 letter 变量的值&#xff0c;%c 是 printf 的格式控制符…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...