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

Vim命令大全(超详细,适合反复阅读学习)

Vim命令大全

  • Vim简介
  • Vim中的模式
  • 光标移动命令
  • 滚屏与跳转
  • 文本插入操作
  • 文本删除操作
  • 文本复制、剪切与粘贴
  • 文本的修改与替换
  • 文本的查找与替换
  • 撤销修改、重做与保存
  • 编辑多个文件
  • 标签页与折叠栏
  • 多窗口操作
  • 总结

Vim是一款文本编辑器,是Vi编辑器的增强版。Vim的特点是快速、高效、定制强、编辑功能强大、可扩展性好等。作为一款强大而又具有学习曲线的文本编辑器,Vim有很多命令需要掌握。在本篇博客中,将向您介绍Vim的基础概述,并提供Vim命令的详尽列表,以供您参考。

Vim简介

Vim最初是为Unix系统编写的,但如今Vim已被移植到许多不同的操作系统平台上。使用Vim可以以非常高效的速度编辑各种编程语言、标记语言、文本等文件。除了高效、可扩展和具有强大的编辑功能之外,Vim还具有许多值得一提的特点:

  • 模式指导: 与其他文本编辑器不同的是,Vim具有多种模式。例如,插入模式、命令模式、可视化模式等等。每个模式都提供了不同的编辑功能,并允许您以不同的方式与文本进行交互。
  • 快捷键: Vim的命令使用快捷键,旨在使您最大化地提高效率。有些命令可以使用单个键和单个单词快速执行,而其他的可以使用两个或更多的键。
  • 扩展性: Vim具有灵活性和可扩展性。Vim的功能可以通过插件进行定制和扩展,这使得Vim成为编码和文本编辑的最佳选择之一。

Vim中的模式

Vim共有以下6种常见的模式:

  • 普通模式(Normal mode): 这是使用Vim打开一个文件时,Vim的默认模式。在普通模式下,您可以使用各种命令来移动光标、删除、复制、粘贴和其他编辑操作。
  • 插入模式(Insert mode): 在插入模式下,您可以像在其他文本编辑器中一样输入和编辑文本。按下键盘上的插入键(通常是 iaoInsert 键)即可进入插入模式。
  • 可视模式(Visual mode): 可视模式允许您选择、高亮并操作文本块。您可以使用各种移动命令来选择文本。在普通模式下敲击键盘的 v 键即可进入可视模式,然后移动光标就可以选中一块文本,常用来完成文本的复制、粘贴、删除等操作。
  • 替换模式(Replace mode): 在替换模式下,您可以直接替换光标所在位置的字符。在普通模式下敲击键盘上的 R 键即可进入替换模式。
  • 命令行模式(Command-line mode): 命令行模式允许您执行各种命令。您可以在命令行中输入命令,例如保存文件、退出Vim、显示行号等。在普通模式下敲击 : 键即可进入命令行模式。
  • Ex 模式(Ex mode): Ex 模式是Vim的可选模式,它是命令行模式的扩展。Ex 模式提供了更多高级命令和编辑选项。可以一次执行多个命令。

Vim的各种工作模式可以通过不同的键进行切换,均需使用Esc键返回到普通模式

光标移动命令

在Vim中,可以使用光标移动命令来在普通模式下操作光标位置。下面是一些常用的光标移动命令:

单个字符的移动:

  • h:向左移动一个字符
  • l:向右移动一个字符
  • j:向下移动一行
  • k:向上移动一行
  • xh:向左移动x个字符距离

单词的移动:

  • w:向后移动一个单词,移动到下一个单词的开头
  • b:向前移动一个单词,移动到前一个单词的开头
  • e:将光标移动到下一个单词的词末,如果光标不在当前单词的词尾时会移动到当前单词的词尾
  • E:移动到单词的结尾(忽略标点符号)
  • ge:将光标移动到上一个单词的词末
  • xw:指定移动的x次数

行的移动:

  • 0:将光标移动到当前行的行首。
  • $:将光标移动到当前行的行尾。
  • ^:将光标移动到当前行的第一个非空字符处(行首和当前行非空字符不是一个位置)。
  • 2|:将光标移动到当前行的第二个字符处。| 表示列。
  • fx:在当前行中向前查找字符 x,将光标定位到下一个出现的字符位置。
  • 3fx:在当前行中向前查找字符 x,将光标定位到第三个出现的字符位置。
  • tx:在当前行中向前查找字符 x,将光标定位到下一个出现的字符前一个位置(即停在字符 x 前一个位置)。
  • %:在匹配的括号间进行跳转,比如在括号或引号的一对匹配中,移动到相匹配的括号或引号处。

【注意】ft 命令与字符相关,而数字前缀(如 23)表示执行多次操作。

文本块的移动:

  • (:将光标移动到当前 \ 上一个句子的开头。句子以句号、问号或感叹号结尾。
  • ):将光标移动到下一个句子的开头。
  • {:将光标移动到当前 \ 上一个段落的开头。段落由空行或一系列连续的非空行组成。
  • }:将光标移动到下一个段落的开头。
  • [[:将光标移动到当前 \ 上一个函数或块的开头。
  • ]]:将光标移动到下一个函数或块的开头。

在屏幕中的移动

  • gg:移动到文件的第一行
  • G:移动到文件的最后一行
  • xG:将光标移动到文件的第 x 行,其中 x 是行号
  • H:移动到当前屏幕的顶部行
  • M:移动到当前屏幕的中间行
  • L:移动到当前屏幕的底部行
  • Ctrl+f:向前翻页
  • Ctrl+b:向后翻页

滚屏与跳转

  • Ctrl+u:向屏幕上方滚动半个屏幕的高度。
  • Ctrl+d:向屏幕下方滚动半个屏幕的高度。
  • Ctrl+b:向屏幕上方滚动一个屏幕的高度。
  • Ctrl+f:向屏幕下方滚动一个屏幕的高度。
  • zt:将当前行移动到屏幕顶部。
  • zz:将当前行移动到屏幕中间。
  • zb:将当前行移动到屏幕底部。
  • :N:将光标移动到第 N 行。

文本插入操作

  • i:在光标所在位置插入文本。
  • I:在当前行的第一个非空字符插入文本。
  • a:在光标位置之后插入文本。
  • A:在当前行的行末插入文本。
  • o:在光标所在行的下一行插入新行,并进入插入模式。
  • O:在光标所在行的上一行插入新行,并进入插入模式。
  • s:删除当前光标下的字符,并进入插入模式,可以立即开始编辑替换的文本。
  • S:删除当前行,并进入插入模式,可以立即开始编辑替换的文本。相当于先按 dd 删除当前行,再按 i 进入插入模式。
  • u:撤销最近的修改操作。

在插入模式下,可以使用以下命令退出插入模式:

  • Esc:回到普通模式。
  • Ctrl+C:同样是回到普通模式,但较 Esc 更不易误触。

在插入模式下,还可以用以下命令进行编辑:

  • Ctrl+H:删除前一个字符(等同于 Backspace 键)。
  • Ctrl+W:删除前一个单词。
  • Ctrl+U:清空当前行之前的所有输入。
  • Ctrl+E:将编辑器中光标所在行的下一行显示在屏幕上。

文本删除操作

字符的删除:

  • x:删除光标所在位置的字符。
  • X:删除光标前面的字符(相当于 Backspace 键)。

单词的删除:

  • dw:删除从光标所在位置到下一个单词开头的所有字符。
  • d$:删除从光标所在位置到行末的所有字符。
  • daw:删除包括光标所在的单词的所有字符(包括前后空格)。
  • diw:删除光标所在单词内的所有字符(不包括前后空格)。
  • d2w:删除当前单词和下一个单词。
  • d0:删除从行首到光标位置的所有字符。
  • d1:删除从行首到光标位置的第一个字符,等同于x。
  • dh:删除光标前一个字符,等同于X。

行的删除:

  • dd:删除当前行,并将其保存到寄存器中以备粘贴。
  • 5dd:删除当前行及其下面的 4 行。
  • D:删除从光标位置到行末的所有字符。
  • :n1,n2d:删除从行号 n1n2 的所有行。
  • dgg:删除从当前行到文件开头的所有行。
  • dG:删除从当前行到文件末尾的所有行。

行的合并:

  • J:将当前行和下一行合并为一行。

文本复制、剪切与粘贴

复制:

  • yy:复制当前行,并将其保存到寄存器中以备粘贴。
  • yw:复制从光标所在位置到单词末尾的所有字符。
  • y$:复制从光标所在位置到行末的所有字符。
  • 3yw:复制从光标所在位置开始的 3 个单词(包括空格)。
  • :n1,n2y:复制从行号 n1n2 的所有行。

剪切:

  • dd:删除当前行,并将其保存到寄存器中以备粘贴。
  • dw:删除从光标所在位置到下一个单词开头的所有字符。
  • d$:删除从光标所在位置到行末的所有字符。
  • 3dw:删除从光标所在位置开始的 3 个单词(包括空格)。
  • :n1,n2d:删除从行号 n1n2的所有行。

粘贴:

  • p:在光标下方插入已复制或剪切的文本。
  • P:在光标上方插入已复制或剪切的文本。

复制文本块

  1. 进入可视块模式:
    • 按下 Ctrl + V 进入可视块模式。
    • 使用上下左右方向键或 hjkl 键移动光标,选择要复制的文本块。
  2. 复制文本块:
    • 按下 y 键复制选择的文本块。复制的内容将被保存在寄存器中,以供后续粘贴使用。
  3. 粘贴文本块:
    • 将光标移动到要粘贴的位置。
    • 按下 p 键将文本块粘贴到当前光标位置的下方。
    • 按下 P 键将文本块粘贴到当前光标位置的上方。

文本的修改与替换

  • cw:用于修改当前光标所在的单词。
  • cb:将光标移动到当前单词的开始处。
  • cc:用于删除整行并进入插入模式,可以输入替换的文本。
  • ~:用于更改当前所在位置的字符的大小写(大写转小写、小写转大写)。
  • r:用于替换单个字符,将当前光标所在的字符替换为一个新的字符。
  • R:用于进入替换模式,将会替换光标后的的所有字符。
  • xp:用于交换当前光标所在位置的字符和其下一个字符的位置。

文本的查找与替换

查找

  • /pattern:在 Vim 中,可以使用 / 后跟要查找的模式进行搜索。例如,输入 /keyword 可以在文本中查找关键字 “keyword”。
  • ?pattern:与上述类似,不同之处在于在问号后查找模式,例如 ?keyword
  • n:在查找模式下,按下 n 键可以跳转到下一个匹配项。
  • N:在查找模式下,按下大写的 N 键可以跳转到上一个匹配项。

替换

  • :s/pattern/replacement/:这是 Vim 中进行替换的基本格式。其中 pattern 是要查找的模式,replacement 是要替换成的内容。例如,:s/old/new/ 会将当前行中的第一个 “old” 替换为 “new”。
  • :s/pattern/replacement/g:在后面添加 g 标志,会替换所有匹配项,而不仅仅是每行的第一个匹配项。
  • :%s/pattern/replacement/g:在 % 前加上 : 号,可以对整个文档执行全局替换,而不只是当前行。

撤销修改、重做与保存

在文本编辑过程中,撤销修改和重做操作是非常重要的。此外,保存文本是确保你的更改被永久保存的一种方式。下面是一些常见的命令和操作:

撤销修改

  • u:按下 u 键可以撤销最近的修改。每按一次 u 键,就会撤销上一次的修改。
  • Ctrl + r:按下 Ctrl + r 键可以重做被撤销的修改。每按一次 Ctrl + r 键,就会重做上一次被撤销的修改。

保存文本

  • :w:这是 Vim 中保存文本的基本命令。在命令模式下,输入 :w 可以将当前文本保存到文件中。如果没有指定文件名,则会保存到原始文件中。
  • :w filename:如果你想将文件保存为特定的文件名,可以在 :w 命令后面加上文件名。例如,:w newfile.txt 将会将文件保存为名为 “newfile.txt” 的文件。
  • :saveas filename:这个命令会将当前文本保存到指定的文件名,类似于另存为。输入命令 :saveas newfile.txt 将会在当前目录下创建一个名为 “newfile.txt” 的副本,并将文本保存到该文件中。
  • U:按下大写的 U 键可以撤销对整行的所有修改,将行恢复到上一次保存时的状态。
  • q:在命令模式下,输入 q 可以退出 Vim。如果有未保存的修改,Vim 会发出警告并阻止退出。你可以按下 q! 来强制退出 Vim,丢弃未保存的修改。
  • wq:这是组合命令,可以将文本保存并退出 Vim。在命令模式下,输入 :wq 将会将文本保存到文件中,并退出 Vim 编辑器。
  • wq!:类似于上述的 wq 命令,但加上了 ! 表示强制保存。即使文件是只读模式或者没有写权限,也会强制保存并退出。
  • e!:该命令用于放弃当前的修改并重新加载文件。在命令模式下,输入 :e! 将会放弃所有未保存的修改,并重新加载原始文件。

编辑多个文件

  1. 打开多个文件

    • vim file1.txt file2.txt:在启动 Vim 时,可以通过在命令行上指定多个文件名来打开多个文件。例如,这个命令会同时将 “file1.txt” 和 “file2.txt” 文件加载到 Vim 中。
  2. 在已打开的文件之间切换

    • :n:在普通模式下,输入 :n 可以跳到下一个打开的文件。
    • :N:在普通模式下,输入 :N 可以跳到上一个打开的文件。
  3. 在已打开的文件之间切换并保存

    • :n 或者 :wn:在普通模式下,输入 :n 或者 :wn 可以切换到下一个文件并保存当前文件。
    • :N 或者 :wN:在普通模式下,输入 :N 或者 :wN 可以切换到上一个文件并保存当前文件。
  4. 查看已打开的文件列表

    • :ls:在命令模式下,输入 :ls 可以列出当前已打开的文件列表。
  5. 在已打开的文件之间切换编辑区域

    • Ctrl + ww:在正常模式下,按下 Ctrl + ww 可以在不同的分割窗口中切换编辑区域。

标签页与折叠栏

标签页(Tabs)

  • 创建标签页:

    • :tabnew:在当前标签页中创建新的空白标签页。
    • :tabnew filename:在当前标签页中创建一个以指定文件名命名的新标签页。
  • 标签页切换:

    • gt:在普通模式下,按下 gt 可以切换到下一个标签页。
    • gT:在普通模式下,按下 gT 可以切换到上一个标签页。
  • 标签页操作:

    • :tabs:在命令模式下,输入 :tabs 可以列出当前打开的标签页。
    • :tabclose:在命令模式下,输入 :tabclose 可以关闭当前标签页。
    • :tabonly:在命令模式下,输入 :tabonly 可以关闭所有标签页,除了当前标签页。

折叠栏(Folds)

  • 创建折叠:

    • zf:在普通模式下,先使用移动光标命令移动到要折叠的行,然后输入 zf 可以创建折叠。
    • zF:在普通模式下,选中多行文本后,输入 zF 可以创建一个包含选中文本的折叠。
  • 打开/关闭折叠:

    • zo:在普通模式下,将光标移动到已折叠的行上,然后按下 zo 可以展开折叠。
    • zc:在普通模式下,将光标移动到已展开的折叠行上,然后按下 zc 可以关闭折叠。
  • 操作折叠:

    • zc:折叠当前的折叠。
    • zC:递归折叠当前折叠下的所有折叠。
    • zd:删除当前折叠。
    • zE:删除当前折叠下的所有折叠。

多窗口操作

  1. 水平分割窗口

    • :split 或者 Ctrl + w + s:在当前窗口的下方创建一个新的水平分割窗口。
    • :split filename:在当前窗口的下方创建一个新的水平分割窗口,并打开指定的文件。
  2. 垂直分割窗口

    • :vsplit 或者 Ctrl + w + v:在当前窗口的右侧创建一个新的垂直分割窗口。
    • :vsplit filename:在当前窗口的右侧创建一个新的垂直分割窗口,并打开指定的文件。
  3. 在窗口之间切换

    • Ctrl + w + w:在正常模式下,按下 Ctrl + w + w 可以在不同的窗口之间切换焦点。
    • Ctrl + w + h:在正常模式下,按下 Ctrl + w + h 可以将焦点切换到左边的窗口。
    • Ctrl + w + j:在正常模式下,按下 Ctrl + w + j 可以将焦点切换到下方的窗口。
    • Ctrl + w + k:在正常模式下,按下 Ctrl + w + k 可以将焦点切换到上方的窗口。
    • Ctrl + w + l:在正常模式下,按下 Ctrl + w + l 可以将焦点切换到右边的窗口。
  4. 关闭窗口

    • :close:在当前窗口中,输入 :close 命令会关闭当前窗口。
    • :q:在当前窗口中,输入 :q 命令也可以关闭当前窗口(如果只剩下一个窗口,则关闭 Vim)。
  5. 调整窗口大小

    • Ctrl + w + +/-:在正常模式下,按下 Ctrl + w 后接 +- 可以增加或减小当前活动窗口的高度。
    • Ctrl + w + >/<:在正常模式下,按下 Ctrl + w 后接 >< 可以增加或减小当前活动窗口的宽度。

在这里插入图片描述

总结

感谢大家阅读这篇关于Vim命令操作的指南。通过本文,详细介绍了Vim中各种常用的命令操作,包括光标移动、文本编辑、多窗口操作等功能,希望这些内容能够帮助你更高效地使用Vim编辑器进行文本处理和编程工作。

Vim作为一个强大灵活的文本编辑工具,拥有丰富的功能和操作方式,使得它成为许多开发者和系统管理员钟爱的利器。通过不断地练习和使用,相信你也能够熟练掌握Vim的各种技巧,从而提高工作效率并享受到编程的乐趣。

如果你喜欢这篇博客或者有任何疑问、建议,欢迎在评论区与我分享。

相关文章:

Vim命令大全(超详细,适合反复阅读学习)

Vim命令大全 Vim简介Vim中的模式光标移动命令滚屏与跳转文本插入操作文本删除操作文本复制、剪切与粘贴文本的修改与替换文本的查找与替换撤销修改、重做与保存编辑多个文件标签页与折叠栏多窗口操作总结 Vim是一款文本编辑器&#xff0c;是Vi编辑器的增强版。Vim的特点是快速、…...

爬虫持久化保存

## open方法- 方法名称及参数markdown **open(file, moder, bufferingNone, encodingNone, errorsNone, newlineNone, closefdTrue)****file** 文件的路径&#xff0c;需要带上文件名包括文件后缀&#xff08;c:\\1.txt&#xff09;**mode** 打开的方式&#xff08;r,w,a,x,b,t…...

统一大语言模型和知识图谱:如何解决医学大模型-问诊不充分、检查不准确、诊断不完整、治疗方案不全面?

统一大语言模型和知识图谱&#xff1a;如何解决医学大模型问诊不充分、检查不准确、诊断不完整、治疗方案不全面&#xff1f; 医学大模型问题如何使用知识图谱加强和补足专业能力&#xff1f;大模型结构知识图谱增强大模型的方法 医学大模型问题 问诊。偏离主诉和没抓住核心。…...

读写分离之同步延迟测试

背景 读写分离是快速提高数据库性能的手段&#xff0c;主库只负责写入&#xff0c;从库负责查询。但在性能得到提升的同时&#xff0c;编程的复杂度就会提升。由其碰到主从同步延迟的情况&#xff0c;在数据写入后&#xff0c;在从库无法读取到最新数据&#xff0c;会对业务逻…...

SpringBoot+OCR 实现PDF 内容识别

一、SpringBootOCR对pdf文件内容识别提取 1、在 Spring Boot 中&#xff0c;您可以结合 OCR&#xff08;Optical Character Recognition&#xff09;库来实现对 PDF 文件内容的识别和提取。 一种常用的 OCR 库是 Tesseract&#xff0c;而 pdf2image 是一个用于将 PDF 转换为图…...

Go和Java实现抽象工厂模式

Go和Java实现抽象工厂模式 本文通过简单数据库操作案例来说明抽象工厂模式的使用&#xff0c;使用Go语言和Java语言实现。 1、抽象工厂模式 抽象工厂模式是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创 建型模式&#xff0c;它…...

深入理解Java虚拟机---内存分配

深入理解Java虚拟机---内存分配 GC日志内存分配与回收策略对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保 GC日志 以下两段典型的GC日志&#xff1a; 33.125: [GC [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K-&…...

计算机网络2

OSI参考模型七层&#xff1a; 1.应用层 2.表示层 3.会话层 4.传输层 5.网络层 6.数据链路层 7.物理层 TCP/IP模型 5层参考模型...

jenkins-Generic Webhook Trigger指定分支构建

文章目录 1 需求分析1.1 关键词 : 2、webhooks 是什么&#xff1f;3、配置步骤3.1 github 里需要的仓库配置&#xff1a;3.2 jenkins 的主要配置3.3 option filter配置用于匹配目标分支 实现指定分支构建 1 需求分析 一个项目一般会开多个分支进行开发&#xff0c;测试&#x…...

源码解析8-QSS原理-案例-Qt的qss特殊设置多个子控件的颜色与伪状态

Qt源码解析 索引 源码解析8-QSS原理-案例-Qt的qss特殊设置多个子控件的颜色与伪状态 有些时候我们想特殊设置QSS&#xff0c;比如某一类标题栏目&#xff0c;某一个窗口中的颜色。 重要的是我们需要同时设置多个特殊的按钮等。 统一设置所有 单一按钮全局设置 QPushButton…...

Nginx+Tomcat实现负载均衡和动静分离

目录 前瞻 动静分离和负载均衡原理 实现方法 实验&#xff08;七层代理&#xff09; 部署Nginx负载均衡服务器(192.168.75.50:80) 部署第一台Tomcat应用服务器&#xff08;192.168.75.60:8080&#xff09; 多实例部署第二台Tomcat应用服务器&#xff08;192.168.75.70:80…...

linux系统的u盘/mmc/sd卡等的支持热插拔和自动挂载行为

1.了解mdev mdev是busybox自带的一个简化版的udev。udev是从Linux 2.6 内核系列开始的设备文件系统&#xff08;DevFS&#xff09;的替代品&#xff0c;是 Linux 内核的设备管理器。总的来说&#xff0c;它取代了 devfs 和 hotplug&#xff0c;负责管理 /dev 中的设备节点。同时…...

使用Python将OSS文件免费下载到本地:项目分析和准备工作

大家好&#xff0c;我是水滴~~ 本文将介绍如何使用Python编程语言将OSS&#xff08;对象存储服务&#xff09;中的文件免费下载到本地计算机。我们先进行项目分析和准备工作&#xff0c;为后续的编码及实施提供基础。 《Python入门核心技术》专栏总目录・点这里 文章目录 1. 前…...

从Gitee克隆项目、启动方法

从gitee克隆VUE项目到本地后&#xff0c;不能直接运行&#xff0c;需要进行npm install安装node_modules文件夹里面的内容&#xff0c;因为在git上传的时候&#xff0c;一般都会过滤到node_modules中的依赖文件。 安装依赖以后&#xff0c;启动通过npm run serve启动项目出错。…...

不用再找了,这是大模型实践最全的总结

随着ChatGPT的迅速出圈&#xff0c;加速了大模型时代的变革。对于以Transformer、MOE结构为代表的大模型来说&#xff0c;传统的单机单卡训练模式肯定不能满足上千&#xff08;万&#xff09;亿级参数的模型训练&#xff0c;这时候我们就需要解决内存墙和通信墙等一系列问题&am…...

QT 记录

qml 移动窗口会闪烁 int main(int argc, char *argv[]) {QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);//orQCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); }window 拉取qml程序依赖文件 打开QT自带的命令窗口&#xff0c;转到exe程序目录&#xff1a; …...

智能优化算法应用:基于黑寡妇算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于黑寡妇算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于黑寡妇算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黑寡妇算法4.实验参数设定5.算法结果6.参考文…...

VSCode 常用的快捷键和技巧系列(2)

一、如何让VSCode工程树显示图标 第一步&#xff1a;安装 快捷键 CtrlP &#xff0c;输入 ext install vscode-icons &#xff0c;然后点击安装插件 第二步&#xff1a;配置 安装成功后&#xff0c;点击Reload重新加载。 然后配置&#xff0c;当前图标使用VsCode-Icons Go…...

【Hadoop】执行start-dfs.sh启动hadoop集群时,datenode没有启动怎么办

执行start-dfs.sh后&#xff0c;datenode没有启动&#xff0c;很大一部分原因是因为在第一次格式化dfs后又重新执行了格式化命令&#xff08;hdfs namenode -format)&#xff0c;这时主节点namenode的clusterID会重新生成&#xff0c;而从节点datanode的clusterID 保持不变。 在…...

计算机网络(四)

九、网络安全 &#xff08;一&#xff09;什么是网络安全&#xff1f; A、网络安全状况 分布式反射攻击逐渐成为拒绝攻击的重要形式 涉及重要行业和政府部门的高危漏洞事件增多。 基础应用和通用软硬件漏洞风险凸显&#xff08;“心脏出血”&#xff0c;“破壳”等&#x…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...