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

Linux(Centos 7.6)命令详解:vi

1.命令作用

vi/vim 是Linux 系统内置不可或缺的文本编辑命令,vim 是vi 的加强版本,兼容vi 的所有指令,不仅能编辑文本,而且还具有shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性。

2.命令语法

usage: vim [arguments] [file ..]   edit specified file(s)                 编辑指定文件
       or: vim [arguments] -             read text from stdin                 从标准输入中读取文本

       or: vim [arguments] -t tag     edit file where tag is defined   编辑定义标记的文件

3.参数详解

arguments:

  • --,仅列出此后的文件名(执行后进入命令模式,可点击i进图编辑模式进行编辑)
  • -v,Vi 模式(如同"vi")
  • -e,Ex 模式(如同"ex")
  • -E,改进Ex模式
  • -s,静默(批量)模式(仅适用于"ex") 
  • -y,简易模式(如同"evim",无模式)(进去后不好退出来)
  • -R,只读模式(如同"view")
  • -Z,限制模式(如同"rvim")
  • -m,不允许修改(写文件)(可以写入到不能保存,保存会提示不能写入)
  • -M,不允许修改文本(不能转换为插入模式,命令模式删除也不行)
  • -b,二进制模式
  • -C,兼容Vi: '兼容'
  • -N,不完全兼容Vi: '不完全兼容'
  • -V[N][fname],显示详细信息[数量 N] [日志信息记录到fname]
  • -n,没有交换文件,只使用内存
  • -r,列出交换文件并退出(vi -r不跟文件)
  • -r (with file name),恢复崩溃的会话(vi -r filename 跟文件恢复异常的vi 编辑会话)
  • -L,与-r一样
  • -T <terminal>,终端类型设置为<terminal>
  • -u <vimrc>,使用<vimrc>而不是任何.vimrc(.vimrc默认存在的,可在用户家目录下创建,可在家目录创建,如.vimrc写入set number,vi/vim打开就会显示行号)
  • --noplugin,不要加载插件脚本
  • -p[N],打开N个标签页(default: 每个文件一个)(用于同时打开多个文件,或一个文件多次打开)
  • -o[N],打开N个窗口(default: 每个文件一个)(用于同时打开多个文件,或一个文件多次打开)
  • -O[N],像-o一样,但是垂直分开
  • +,从文件末尾开始(vi打开后光标直接定位到文件末尾行行首)
  • +<lnum>,从行<lnum>开始(vi打开后光标定位在指定行行首)
  • --cmd <command>,在加载任何vimrc文件之前执行<command>(command为编辑器的命令)
  • -c <command>,加载第一个文件后执行<command>(command为编辑器的命令)
  • -S <session>,加载第一个文件后执行文件<session>(session内容为编辑器的命令和操作)
  • -s <scriptin>,从文件<scriptin>中读取普通模式命令(scriptin内容为编辑器的命令和操作)
  • -w <scriptout>,将vi 编辑文件的所有操作追加记录到文件<scriptout>
  • -W <scriptout>,将vi 编辑文件的所有操作覆盖记录到文件<scriptout>

4.模式详解

三种模式:

  1. 一般模式/命令模式(command mode):刚刚启动 vi/vim,则进入一般模式,可以移动光标、复制粘贴、删除字符等。此状态下键盘输入会被识别为命令操作,常用到的包括 i(切换到插入模式),x(删除当前光标所在字符),:(切换到命令行模式)
  2. 插入模式(input mode):在一般模式下按下键盘【i, I, o, O, a, A】进入插入模式,屏幕的左下方会出现【–INSERT–】的字样,表示当前模式下,用户可以编辑修改文本的内容。按下【Esc】则退出编辑模式
  3. 命令行模式/末行模式(last line mode):在一般模式下按下键盘【: / ?】任意一个,光标移动到最下面一行,进入末行模式。可以查找数据、替换、可保存文件、退出 vi、显示行号等操作

5.常用用例

5.1.创建文件

创建文件,打开 test.txt 文件进入一般模式;当 test.txt 不存在则会创建 test.txt 文件,保存退出后,则新建成功。

vi test.txt

5.2.移动光标

进入一般模式后,可在键盘输入以下,移动光标位置。 

  • [Ctrl]+[f] :光标向下移动一页。 
  • [Ctrl]+[d] :光标向下翻半页 
  • [Ctrl]+[b] :光标向上移动一页。 
  • [Ctrl]+[u] :光标向上 翻半页 
  • 0:移动到光标所在这一行的最前面字符处。 
  • $:移动到光标所在这一行的最后面字符处。 
  • h j k l 或者箭头按键:从当前光标处往上、下、左、右移动。 
  • gg:移动到这个文件的第一行。 
  • G:移动到这个文件的最后一行。 
  • N[Enter] :N 为数字,光标向下移动 N 行。
  • ngg 或 nG :n 代表行号,光标会跳转到文件的第n行,例如 66gg 或 66G,光标会跳转到第66行。
  • :n : 英文冒号":"后面输入行号n,按回车键,光标会跳转到第n行。例如,输入 :600,按回车键光标会跳转到第600行 
  • vim +n 文件名 :使光标在正常模式下直接跳转到第n行,例如 vim +10 nation.tbl 
  • n| :跳转到当前行的第n个字符,例如 3| 会使光标跳转到当前行的第3个字符。(空格也算一个字符)

5.3.删除、复制、粘贴

进入一般模式后,可在键盘输入以下,实现删除、复制、粘贴。

  • x,X:在一行字中,x 为向后删除一个字符(相当于[Del]键),X 为向前删除一个字符(相当于[Backspace])
  • dd:删除光标所在的一整行。 ndd:删除光标所在的向下 n 行。 
  • s:删除光标所在字符并进入编辑模式 
  • d+w:删除光标往后的整个单词 
  • yy:复制光标所在的一行。 
  • nyy:复制光标所在的向下 n 行。 
  • p,P:p 为将已复制的内容在光标的下一行粘贴,P 则为粘贴在光标的上一行。 
  • D(shift +d) d+$(shift+4):删除当前行光标后的所有字符 
  • d+0 d+^ :删除当前行光标前的所有字符

5.4.插入模式

进入一般模式后,可在键盘输入以下,切换到插入模式,进行文件编辑操作。 

  • i,I:进入插入模式,i 为从目前光标所在处插入。I 为在目前所在行的第一个非空格字符处开始插入。
  • a,A:进入插入模式。a 为从目前光标所在处的下一个字符处开始插入。A 为从所在行的最后一个字符处开始插入。 
  • o,O:进入插入模式。o 为在下一行插入。O 为在上一行插入。

5.5.查找、替换

按 vi 进入文件后,可进行以下操作进行查找和替换 

  • /xxx:向下寻找一个名称为 xxx的字符串。 
  • ?xxx:向上寻找一个名称为 xxx的字符串。 
  • ^:表示匹配行首 
  • $:表示匹配行尾 
  • :n1,n2s/xxx1/xxx2/g:在第 n1 行和 n2行之间寻找 xxx1 这个字符串,并且将其替换为 xxx2. 
  • :1,$s/xxx1/xxx2/g:从第一行到最后一行寻找xxx1 这个字符串,并且将其替换为xxx2.
  • :1,$s/xxx1/xxx2/gc:从第一行到最后一行寻找xxx1 这个字符串,并且将其替换为xxx2.且在替换前显示提示字符给用户确认是否需要替换。

5.6.保存退出

编辑数据后切换到末行模式,":w"命令表示将当前编辑的内容保存到文件中,而":q"命令表示退出vim编辑器 

  • 保存并退出:":wq"或者":x" 
  • 丢弃修改并退出:":q!" 
  • 强制保存并退出:":wq!" 
  • 保存但不退出:":w" 
  • 放弃编辑并退出:":q!"

5.7.vim列编辑

  • 列删除 ctrl+v, 选中后 d 
  • 列插入 ctrl+v, 选中后 I(大写i),编辑完毕后两次ESC 
  • 列替换 ctrl+v, 选中后 s ,编辑完毕后两次ESC 
  • 列复制 ctrl+v, 选中后 y 
  • 列粘贴 p

5.8.合并行

命令模式下执行

  • J:将下一行合并到光标当前行,中间以空格分隔
  • gJ:将下一行合并到光标当前行,中间无符号分隔
  • vGJ:将文件所有行合并为一行,中间以空格分隔
  • vGgJ:将文件所有行合并为一行,中间无符号分隔

5.9.常用末行模式

1.查看文件编码 
:set fileencoding 2.修改文件编码 
:set fileencoding=utf-8 3.显示行号
:set nu /number 4.取消行号 
:set nonu  5.搜索时忽略大小写(先set ic 再 /搜索)
:set ic6.把6到10行 粘贴到20行下面
:6,10 co 20 7.删除6到10行
:6,10 d  8.把外面复制的内容复制到文件中(源内容可能会出现粘贴成一行的情况,:set paste可以粘贴成多行)
:set paste 

 5.10.文件对比

vim -d nation.tbl nation_1.tbl # 输出内容显示不全
vim -d -c 'set wrap' -c 'wincmd w' -c 'set wrap' aa ab # 输出内容换行显示(显示全)
vimdiff -c 'set wrap' -c 'wincmd w' -c 'set wrap' aa.txt ab.txt
vimdiff +"windo set wrap" aa ab

相关文章:

Linux(Centos 7.6)命令详解:vi

1.命令作用 vi/vim 是Linux 系统内置不可或缺的文本编辑命令&#xff0c;vim 是vi 的加强版本&#xff0c;兼容vi 的所有指令&#xff0c;不仅能编辑文本&#xff0c;而且还具有shell 程序编辑的功能&#xff0c;可以不同颜色的字体来辨别语法的正确性。 2.命令语法 usage: …...

Ubuntu 20.04下配置VSCode以支持Eigen库开发

这里写目录标题 1. 安装Eigen库2. 配置VSCode的C开发环境3. 配置c_cpp_properties.json4. 编写代码并测试5. 配置tasks.json&#xff08;可选&#xff09;6. 运行程序总结 在VSCode中配置Eigen库&#xff08;用于线性代数、矩阵和向量运算的C库&#xff09;的步骤如下&#xff…...

正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-2.1 uboot简介

前言&#xff1a; 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用&#xff1a; …...

Android14 OTA差分包升级报kPayloadTimestampError (51)

由于VF 架构&#xff0c; 所以镜像的打包时间可能存在偏差&#xff0c; 如 boot.img 和 客制化的一些镜像打包 可能会在 vendor 侧进行打包。 而 与system 侧进行merge 时&#xff0c;时间戳比较乱&#xff0c;为了解决这个问题&#xff0c;让时间戳进行统一。 使用adb方式验证…...

PPT 技能:巧用 “节” 功能,让演示文稿更有序

在制作PPT时&#xff0c;你是否遇到过这样的情况&#xff1a;幻灯片越来越多&#xff0c;内容越来越杂&#xff0c;找某一页内容时翻得眼花缭乱&#xff1f;尤其是在处理大型PPT文件时&#xff0c;如果没有合理的结构&#xff0c;编辑和调整都会变得非常麻烦。这时候&#xff0…...

Mysql创建库、表练习

创建库 #创建 create database gc_novels default charsetutf8mb4;#default charsetutf8mb4 指定编码为utf-8#使用 use gc_novels#查看当前所在位置 select database(); 结果&#xff1a; 创建表 #创建 create table heros(-> id int,-> name varchar(50),-&…...

【原创】Ollama Test API For Linux/MacOS/Unix

安装Json解析工具 Linux/Unix sudo apt-get install jq -yMacOS brew install jq -y设置环境变量 export IP"192.168.250.229" export PORT"8080" export MODEL"deepseek-r1:7b"检查Ollama版本 curl http://"$IP":"$PORT&qu…...

盛铂科技 SLMF315频率综合器200MHz至15GHz 国产频综模块

在当今科技飞速发展的时代&#xff0c;射频技术在众多领域发挥着关键作用&#xff0c;从通信、雷达系统到科研实验&#xff0c;对频率综合器的性能要求日益严苛。以下是关于盛铂科技的 SLMF315 超低相位噪声频率综合器的介绍&#xff1a; SLMF315超低相位噪声0.2至15GHz频率综合…...

AI-前端开发webcrumbs.ai/frontend-ai,Fitten Code提高开发效率

1.webcrumbs.ai/frontend-ai Frontend AI by Webcrumbshttps://app.webcrumbs.ai/frontend-ai 可选择某一模版进行生成对应版本代码&#xff0c;减少开发量。 2.Fitten Code Vue AI 编程助手 Vue AI 编程助手 | 菜鸟教程https://www.runoob.com/vue2/fitten-code-vue2.htm…...

DeepSeek开源Day4:DualPipeEPLB技术详解

2 月 24 日&#xff0c;DeepSeek 启动 “开源周”&#xff0c;第四个开源的代码库为 DualPipe 与 EPLB&#xff08;一下发布了两个&#xff09;。DualPipe 与 EPLB 依然使用了大量与 Hopper 架构绑定的技术。 DualPipe 是由 DeepSeek-AI 团队开发的一种双向流水线并行通信算法&…...

代码随想录算法训练营第22天 | 组合 组合总和 电话号码的字母组合

77. 组合 77. 组合 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<Integer> path new ArrayList<>();List<List<Integer>> result new ArrayList<>();public void backTracking(int n,int k,int startIndex){if(path.size() …...

Oracle19c进入EM Express(Oracle企业管理器)详细步骤

以下是使用Oracle 19c进入Oracle Enterprise Manager Database Express&#xff08;EM Express&#xff09;的详细步骤&#xff1a; ### **步骤 1&#xff1a;确认EM Express配置状态** 1. **登录数据库服务器** 使用Oracle用户或管理员权限账户登录操作系统。 2. **查看EM…...

Oracle 数据库基础入门(六):视图与索引的深入解析

在 Oracle 数据库的知识体系中&#xff0c;视图与索引是提升数据库操作效率和优化数据管理的重要工具。对于 Java 全栈开发者而言&#xff0c;熟练掌握视图与索引的运用&#xff0c;不仅能够增强数据库查询的性能&#xff0c;还能为构建高效稳定的后端应用提供有力支持。接下来…...

机器学习-随机森林解析

目录 一、.随机森林的思想 二、随机森林构建步骤 1.自助采样 2.特征随机选择 3构建决策树 4.集成预测 三. 随机森林的关键优势 ​**(1) 减少过拟合** ​**(2) 高效并行化** ​**(3) 特征重要性评估** ​**(4) 耐抗噪声** 四. 随机森林的优缺点 ​优点 ​缺点 五.…...

Qt添加MySql数据库驱动

文章目录 一. 安装MySql二.编译mysql动态链接库 Qt版本&#xff1a;5.14.2 MySql版本&#xff1a;8.0.41 一. 安装MySql 参考这里进行安装&#xff1a;https://blog.csdn.net/qq_30150579/article/details/146042922 将mysql安装目录里的bin&#xff0c;include和lib拷贝出来…...

MR的环形缓冲区(底层)

MapReduce的大致流程&#xff1a; 1、HDFS读取数据&#xff1b; 2、按照规则进行分片&#xff0c;形成若干个spilt&#xff1b; 3、进行Map 4、打上分区标签&#xff08;patition&#xff09; 5、数据入环形缓冲区&#xff08;KVbuffer&#xff09; 6、原地排序&#xff…...

RMAN备份bug-审计日志暴涨(select action from gv$session)

问题概述 /oracle 文件系统使用率过大&#xff0c;经过检查是审计日志过大,/oracle 目录 197G 审计日志占用70G&#xff0c;每6个小时产生大量审计日志&#xff0c;日志内容全是select action from gv$session &#xff0c;猜测可能跟备份有关&#xff0c; $>df -h /oracle…...

30秒从零搭建机器人管理系统(Trae)

1. 安装 [Trae官网】(https://www.trae.com.cn/) 2. 提示词 创建一个BS架构的机器人远程操控系统&#xff0c;具备机器人状态及位置实时更新&#xff0c;可以实现机器人远程遥控&#xff0c;可以对机器人工作日志进行统计分析&#xff0c;以及其它管理系统的常用功能3. 模型…...

OpenFeign 学习笔记

OpenFeign 学习笔记 一、基础入门 1.1 简介 OpenFeign 是基于声明式的 REST 客户端&#xff0c;用于简化服务间远程调用。&#xff08;编程式 REST 客户端&#xff08;RestTemplate&#xff09;&#xff09; 通过接口注解方式定义 HTTP 请求&#xff0c;自动实现服务调用。 …...

单例模式(线程案例)

单例模式可以分为两种&#xff1a;1.饿汉模式 2.懒汉模式 一.饿汉模式 //饿汉模式&#x1f447; class MySingleTon{//因为这是一个静态成员变量&#xff0c;在类加载的时候&#xff0c;就创建了private static MySingleTon mySingleTon new MySingleTon();//创建一个静…...

HttpServletRequest 和 HttpServletResponse 不同JDK版本的引入

java中&#xff0c;可能会用到JWT令牌校验&#xff0c; 这时&#xff0c;大概率会用到 HttpServletRequest&#xff0c;和 HttpServletResponse。 若为 JDK8&#xff0c;SpringBoot 2.7.3 的版本则引入&#xff1a; import javax.servlet.http.HttpServletRequest; import ja…...

数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南

文章目录 数据安全VS创作自由&#xff1a;ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南ChatGPTKimi腾讯元宝DeepSeek 数据安全VS创作自由&#xff1a;ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南 产品隐私设置操作路径隐私协议ChatGPT…...

【JavaEE】SpringMVC简单练习

目录 一、计算器1.1 接口定义1.2 前端代码1.3 后端代码1.4 运行结果 二、⽤⼾登录2.1 需求2.2 接口定义2.3 前端页面2.4 后端代码2.5 结果 三、留⾔板3.1 需求:3.2 接口3.3 前端代码3.4 后端代码3.5 运行结果 四、图书管理系统4.1 需求4.2 接口定义4.3 后端代码 一、计算器 1.…...

文件上传漏洞:upload-labs靶场11-20

目录 pass-11 pass-12 pass-13 pass-14 pass-15 pass-16 pass-17 pass-18 pass-19 pass-20 pass-11 分析源代码 &#xff0c;发现上传文件的存放路径可控 if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],st…...

苹果Siri升级遇阻,国行iPhone或将引入阿里、百度AI自救

AI整合进展缓慢 苹果正加速将生成式AI技术整合至Siri&#xff0c;但内部消息称其底层技术研发落后于竞争对手&#xff0c;进展未达预期。 国行iPhone将引入双AI模型 苹果计划在2025年中期为国行iPhone引入AI功能&#xff0c;目前已敲定与 阿里巴巴、百度 合作&#xff0c;用户…...

立即释放 Mac 空间!Duplicate File Finder 8 重复文件高速清理工具

Duplicate File Finder 专业的 Mac 重复文件清理工具。查找并删除重复的文件、文件夹&#xff0c;甚至相似的照片。 不要让无用的文件占用磁盘上的宝贵空间。 整理你的 Mac。用最好的重复文件查找器来管理你的文件集合。 扫描任何磁盘或文件夹 主文件夹、照片/音乐库、外部磁…...

ES时序数据库的性能优化

本文主要是讲解了Elasticsearch数据库的优化&#xff0c;大家可以看一下。因为当时实操中涉及了6版本和7版本的一起优化&#xff0c;所以内容上大家自行区分一下。 一、基础设置 1. jvm.options参数详解 不同版本java配置会不一样 -Xms12g -Xmx12g 说明&#xff1a; 将 Xms…...

第3章:启动界面与主界面设计

第3章:启动界面与主界面设计 学习目标 掌握SwiftUI中的启动界面(Splash Screen)设计与实现学习主界面的布局与导航结构设计实现灵感笔记的列表与网格视图掌握SwiftUI中的动画与过渡效果学习如何使用环境对象共享数据理论知识讲解 启动界面设计原则 启动界面(Splash Scre…...

c++ 作用域解析操作符::

目录 什么是 ::&#xff1f; 基本语法 主要用途 1. 访问全局作用域 2. 访问类的静态成员 3. 访问命名空间中的内容 4. 区分嵌套作用域 5. 在类中定义成员函数 注意事项 什么是 ::&#xff1f; 在C中&#xff0c;:: 是作用域解析操作符&#xff08;Scope Resolution O…...

JavaScript数据类型转换

在JavaScript编程中&#xff0c;由于其动态类型特性&#xff0c;经常需要在不同的数据类型之间进行转换。正确地执行类型转换不仅能够避免潜在的错误&#xff0c;还能提高代码的灵活性和可维护性。本文将探讨JavaScript中的常见数据类型转换方法&#xff0c;并提供一些实用的例…...

css错峰布局/瀑布流样式(类似于快手样式)

当样式一侧比较高的时候会自动换行&#xff0c;尽量保持高度大概一致&#xff0c; 例&#xff1a; 一侧元素为5&#xff0c;另一侧元素为6 当为5的一侧过于高的时候&#xff0c;可能会变为4/7分部dom节点 如果不需要这样的话删除样式 flex-flow:column wrap; 设置父级dom样…...

AI 技术 引入 RTK(实时动态定位)系统,可以实现智能化管理和自动化运行

将 AI 技术 引入 RTK(实时动态定位)系统,可以实现智能化管理和自动化运行,从而提高系统的精度、效率和可靠性。以下是 AI 技术在 RTK 系统中的应用实例: 一、AI 技术在 RTK 系统中的应用场景 1. 整周模糊度快速解算 问题:RTK 的核心是解算载波相位的整周模糊度,传统方法…...

【STM32F103ZET6——库函数】11.捕获红外信号

目录 红外原理 数据码 引导码 连发码 配置捕获引脚 使能引脚时钟 配置定时器 使能定时器时钟 配置输入捕获 中断优先级分组 配置定时器4中断 定时器中断使能 使能定时器 重写定时器中断服务函数 清空定时器中断标志位 例程 例程说明 main.h main.c HongWai…...

江科大51单片机笔记【9】DS1302实时时钟(上)

一、DS1302介绍 DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时&#xff0c;且具有闰年补偿等多种功能。RTC&#xff08;Real Time Clock&#xff09;&#xff1a;实时时钟&#xff0c;是一种集成电路…...

在Spring Boot + MyBatis中优雅处理多表数据清洗:基于XML的配置化方案

问题背景 在实际业务中&#xff0c;我们常会遇到数据冗余问题。例如&#xff0c;一个公司表&#xff08;sys_company&#xff09;中存在多条相同公司名的记录&#xff0c;但只有一条有效&#xff08;del_flag0&#xff09;&#xff0c;其余需要删除。删除前需将关联表&#xf…...

【计网】网络层

网络层 4.1 网络层提供的两种服务&#xff08;一&#xff09; 面向连接的虚电路服务&#xff08;二&#xff09; 无连接的数据报服务 4.2 IPv44.2.1 IPv4概述4.2.2 分类编址的IPv4地址4.2.3 划分子网的IPv4地址4.2.4 无分类编址的IPv4地址4.2.5 IPv4地址的应用规划&#xff08;…...

稳定性保障-前端

前端稳定性保障是确保应用在各种环境下都能 高效、稳定、无错误 运行的策略和方法。可以从 监控、测试、容灾、优化 等方面进行保障。 &#x1f4cc; 1. 监控 & 报警 实时监控 线上情况&#xff0c;及时发现问题。 ✅ 1.1 前端错误监控 • Sentry、Fundebug&#xff1a…...

批量给 Word 中的所有图片添加水印

如果要给一个 Word 文档加水印&#xff0c;很多小伙伴都能轻松的完成&#xff0c;因为使用 Office 就能轻松的操作&#xff0c;并且也有很多第三方的工具可以帮我们实现。那假如需要给 Word 中的每一张图片都添加上水印&#xff0c;那有什么比较好的方法实现呢&#xff1f;今天…...

jQuery UI 简介

jQuery UI 简介 引言 随着互联网技术的飞速发展,前端开发已经成为网站和应用程序建设的重要组成部分。jQuery UI 是一个基于 jQuery 的用户界面库,它为开发者提供了丰富的交互组件和视觉效果,使得创建具有吸引力和互动性的网页变得更加简单。本文将为您详细介绍 jQuery UI…...

`label` 标签的 `for` 属性详解

一、基本概念 label 标签的 for 属性用于将标签与表单控件&#xff08;如 input、select 等&#xff09;绑定&#xff0c;其值需与目标元素的 id 完全匹配。这种关联允许用户点击标签时触发控件交互&#xff08;如聚焦输入框或切换复选框&#xff09;&#xff0c;提升操作便捷…...

ArcGIS操作:10 投影坐标系转地理坐标系

应用情景&#xff1a;在计算shp面质心坐标的时&#xff0c;由于需要的坐标是经纬度&#xff0c;所以需要将投影坐标系转化为地理坐标系 1、打开工具箱 2、右侧&#xff1a;数据管理工具 → 投影和变换 → 要素 → 投影 3、选择投影的数据、输出路径、地理坐标系&#xff0c;点…...

【单片机通信技术】串口通信的几种方式与比较,详细解释SPI通信

一、介绍 串口通信是一种通过串行接口逐位传输数据的通信方式&#xff0c;广泛应用于嵌入式系统、工业控制、传感器网络等领域。 二、以下是几种常见的串口通信方式及其对比&#xff1a; 1.UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09; 特点&am…...

DeepSeek开源Day5:3FSsmallpond技术详解

2 月 24 日&#xff0c;DeepSeek 启动 “开源周”&#xff0c;第四个开源的代码库为 3FS&smallpond&#xff08;又是一下发布了两个&#xff09;。 3FS&#xff08;Fire-Flyer File System&#xff09;是 DeepSeek 内部开发的一款高性能分布式文件系统&#xff0c;旨在为 A…...

常见的限流算法有哪些

计数器算法 原理&#xff1a;在固定的时间窗口内&#xff0c;对请求进行计数&#xff0c;当请求数量达到设定的阈值时&#xff0c;就开始限流&#xff0c;拒绝多余的请求。例如&#xff0c;设定 1 分钟的时间窗口内允许最多 100 个请求&#xff0c;那么在这 1 分钟内每来一个请…...

Android 低功率蓝牙之BluetoothGattCallback回调方法详解

BluetoothGattCallback 是 Android 中用于处理蓝牙低功耗&#xff08;BLE&#xff09;设备通信的核心回调类。它负责处理与 BLE 设备的连接、服务发现、数据读写等操作的结果。以下是对 BluetoothGattCallback 的详细解析&#xff1a; 1. onConnectionStateChange 触发时机&am…...

socket.io协议内容详解

Socket.IO 是一个基于事件的实时通信库,支持双向通信。它并非单一协议,而是结合了 Engine.IO 传输层和 Socket.IO 应用层协议的复合体系。以下是其协议核心内容的详细解析: 1. 协议分层 Engine.IO:负责底层传输(如 WebSocket、HTTP 长轮询),处理连接稳定性、心跳和断线重…...

在Oracle中编写雪花算法升学雪花ID

雪花算法的定义不详细说了哈&#xff0c;直接给出代码&#xff01; --雪花配置 --DROP TABLE SNOWFLAKE_CONFIG; CREATE TABLE SNOWFLAKE_CONFIG ( DATA_CENTER_ID NUMBER(5) NOT NULL, WORKER_ID NUMBER(5) NOT NULL, LAST_TIMESTAMP NUMBER(20) NOT NULL, SEQUENCE NUMBE…...

我们来学nginx -- 优化下游响应速度

优化下游响应速度 题记启用 Gzip 压缩优化缓冲区设置设置超时时间 题记 专家给出的配置文件真是…&#xff0c;信息量有点大啊&#xff01; nginx&#xff1a;我只想作为一个简单的代理专家爸爸&#xff1a;都是为了你好&#xff01; 这样&#xff0c;先从有关响应速度的角度&…...

SELECT ... FOR UPDATE 加锁后,其他线程能读取数据吗

在执行 SELECT * FROM table WHERE ... FOR UPDATE 语句时&#xff0c;MySQL 会对查询结果集中的行加 排他锁&#xff08;X锁&#xff09;。这种锁的行为会影响其他事务对这些行的读写操作。以下是具体的影响&#xff1a; 1. 加锁后的效果 当前事务&#xff1a; 对查询结果集中…...

【论文阅读】多模态——LSeg

文献基本信息 标题&#xff1a;Language-Driven Semantic Segmentation作者&#xff1a;Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、Ren Ranftl单位&#xff1a;Cornell University、University of Copenhagen、Apple、Intel Labs会议/期刊&#xff1a;…...