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

2401vim,vim重要修改更新大全

原文

2023

更好的UTF-16支持

添加strutf16len()utf16idx(),并在byteidx(),byteidxcomp()charidx()中添加utf16标志,在内置.txt文档中.

添加'crypymethod' xchacha20v2

xchacha20基本相同,但更能抵御libsodium的变化.

2022

添加"smoothscroll"

用鼠标滚动换行屏幕行,而不是文本行.

"statusline""tabline"中添加'showcmdloc',%S

控制"showcmd"显示位置,或添加到状态行或标签行.

支持kitty-keyboard-protocol键盘协议,添加'keyprotocol'

KiTTY终端;更好处理修改键.

添加WinResized事件

更改窗口大小时触发,事件.

WinScrolled适合非活动窗口,有更多信息

以前,仅适合当前窗口,且不提供更改内容信息,滚动.

col()charcol()中添加winid选项

另一个窗口取光标列,col,char.

readblob()中添加offsetsize参数,允许读取符设备

之前,总是读取整个文件,读块.

添加'lispoptions'

设置lispoptions=indentexpr:1,在启用'lisp'时允许使用'indentexpr'.

添加TextChangedT

终端窗口中,更改文本后触发.

"shortmess"中添加"C"

补全(ins-completion)过程中抑制消息

声音功能可在macOS上运行

sound_playevent()这里现在适合macOS.

添加:echowindow

弹窗中显示消息;同时添加popup_findecho()这里.这里

"fillchars"中添加最后一行

设置当'display'包含fillcharstruncate使用的符.

添加"splitkeep"

控制打开,关闭或调整水平分割时的滚动行为.

matchaddpos()可添加许多匹配项

以前限制为8个,这里.

虚文本

允许添加虚文本到缓冲.

放弃对WindowsXPVista的支持

添加keytrans()

转换转义序列为串,这里.

添加:defer

退出函数时运行代码,这里.

writefile()mkdir()中添加'D'标志

在退出函数时,删除文件或目录,1,2.

窗口终端中设置光标形状

termcap-cursor-shape适合窗口,这里.

添加getscriptinfo()

:scriptnames,但对脚本来说更方便,这里,1.

添加setcmdline()

脚本设置命令行内容和光标位置,这里.

添加indexof()

回调函数,在列表中查找值,这里.

支持双,点和虚线下划线

可在:highlight中使用双,点和虚下划线属性.

添加virtcol2col()

虚列中取字节索引,这里.

添加<<>>符号

按位移位符号.

添加autocmd_add(),autocmd_get(),autocmd_delete()

操作autocmd的函数,加,取,删.

'formatoptions'中添加/

在带内联注释(仅'cindent')的行上使用o时,不要插入\\.

getcmdcompltype(),getcmdscreenpos()

当前命令行补全的类型和位置1,2.

加串插值

串以$前缀时,允许在{...}内使用;如

$"Hello, {$USER} at {strftime('%c', localtime())}"

添加列到"breakindentopt"

指定列缩进软包装行.

恢复映射

mapset()接受从maparg()maplist()返回的字典,从而可轻松保存和恢复映射.
1,2,3

添加isabsolutepath()

检查路径是否为绝对路径,1.

添加maplist()

取所有映射列表.这里

添加hl-CurSearch

高亮当前搜索匹配项.这里

允许在heredoc中使用式

如果添加了eval,则允许heredoc中按=expr的表达式:

let lines =<< trim eval ENDSee the file `=$HOME`/.vimrc
END

支持通道中的LSP

通道中支持语言-服务器-协议(LSP).

添加--log

启动时开始记录.

WinScrolled事件

滚动窗口内容后触发.

添加:profile停止和转储

(以前仅在退出Vim时),允许停止分析并把配置文件转储到文件中.这里

Unix域套接字上打开通道

ch_open("unix:/tmp/socket")

添加"fuzzy""wildoptions"

命令行的"模糊"补全.

DirChangedPre事件

更改目录前触发.

"errorformat"中添加%e%k

尾行和列.

"pum:"添加到'wildoptions'

命令行补全,显示弹出菜单.

添加"timeout""spellsuggest"

限制搜索拼写建议时间;以前总是5000毫秒.

在可视模式下的P

可视模式下"放"(粘贴)文本,而不会复制已删除文本到未命名寄存器中.

win_move_separator(),win_move_statusline()

移动并调整窗口大小.1,2

2021

内置.txt

eval.txt拆分为内置.txt

*expr选项中允许本地脚本函数

现在可用如setdiffexpr=s:MyDiffExpr().

添加:argdedeupe

参数列表删除重复项.

reduce(),filter()map()对串起作用

赋值λ给带函数的选项

'operatorfunc','tagfunc','completefunc','omnifunc''imactivatefunc'现在可接受λ.

添加hl-CursorLineSign,hl-CursorLineFold

调整"'cursorline'"的符号高亮.

添加hlget(),hlset()

编程操作高亮.1,2

添加WinClosed事件

关闭窗口时触发.

添加v:colornames

映射颜色名到十六进制代码.

添加"guiligatures"

支持在GTKGUI中使用连字.

添加'thesaurusfunc'

同义补全的函数.

ModeChanged事件

在更改模式时触发.这里

添加多空格到"listchars"

无论在哪,显示两个或多个空格.

添加digraph_get(),digraph_getlist(),digraph_set(),digraph_setlist()

列举并定义函数的二分法.1
2
3
4

添加列表到"breakindentopt"

对(用"formatlistpat"设置)匹配编号列表或项目符号列表的行添加额外缩进.

添加\%.l,\%<.l\%>.l模式

匹配光标当前所在行;见/\%l这里.

添加'cryptmethod'=xchaha20

libsodium更安全加密.

添加zp,zP,zy

zp不带尾随空格按块模式粘贴,zy不带尾随空格复制.

{%到"状态行"

{%expr%}"statusline"格式串重新计算式.

:vimgrep中添加f标志

"模糊"匹配:vimgrep结果.这里

添加"autoshelldir"

终端窗口自动更改Vim中的目录.

添加strcharlen()

分别组合符,取串计数的长度这里.

遍历串

循环串为'for char in "str"';循环是用组合符按代码点的.

扩展"fillchars"

新值:"eob"更改(~)表示不存在的行,"foldopen","foldclose""foldsep"更改"foldcolumn"标记.
可按每窗口设置"fillchars"(以前总是全局的).还允许在"fillchars""statusline"中使用多字节符.

添加followwrap"diffopt"

差异窗口,不要重置"换行".

添加fullcommand()

缩写中取完整命令名(如:s->:substitute),这里

lead:在"ListChars"

设置"list"时,高亮前导空格.

检测终端中的焦点事件

FocusGainFocusLost自动命令可在终端内工作.见xterm-focus-event.

:sleep!

休息并隐藏光标.

添加charcol(),getcharpos(),setcharpos(),getcursorcharpos(),setcursorcharpos()

col(),getpos(),setpos(),getcurpos(),cursor()多字节相关版本.

2020

charidx()

转换字节索引符索引.

添加VimSuspendVimResume

暂停/恢复时触发;仅针对<C-z>而不是SIGSTP/SIGCONT信号.1,2

添加<Cmd>

更改键映射中的模式,以便无需使用<C-u><C-o>,插入或可视模式中映射总是有效.如,noremap<C-q><Cmd>:normal!K<CR>

:sortsort()可本地相关排序

:sortlsort(...,'l').

matchfuzzy(),matchfuzzypos()

"模糊"匹配.

添加InsertLeavePre

离开插入模式前触发这里.

??符号

echo value ??

如果值为空,则用上面.

添加gettext()

可用来翻译插件.这里

添加setcellwidths(),charclass()

允许覆盖宽度歧义符显示宽度.

添加g<Tab>;支持:tabnext#,:tabclose#

g<Tab>返回上次访问的选项卡,而:tab*命令中的#引用上次访问的选项卡.

expand('<SID>')

*func*expr设置很有用,如

let &includexpr = expand('<SID>') .. 'fun()'

来使用s:fun()

添加"quickfixtextfunc"

自定义快修窗口文本内容;也可按参数传递给setqflist()这里

readir(),readirex()添加排序

readdir()readdirex()添加可选参数控制排序.这里和这里

添加terminalprops()

列举此终端支持功能.

添加'spelloptions'

唯一接受的值是驼峰(camel)来拼写检查CamelCase单词.

添加SigUSR1autocmd

用来检测SIG_USR1的事件.

添加flatten()

变平列表

添加getreginfo()

返回寄存器信息细节;可通过传递给setreg()这里来恢复.

添加searchcount()

取有关当前搜索的细节.

允许在终端中设置下划线颜色

可在:highlight中使用ctermul来设置下划线颜色,如果启用了'termguicolors',则可用guisp.

添加reduce()

化简列表为单个值这里.

添加readirex()

readdir()类似,但返回带属性字典(即Unix上的stat()).

添加getmarklist()

类似:marks,取标记列表这里

添加unsigned"nrformats"

数字前忽略-,并总是当作<C-a><C-x>的正,以便在如1985-06-18正常工作.

添加mapset()

从脚本设置映射,并可恢复映射,这里.

Lua调用Vim函数

vim.call("fun_name", "arg")
vim.fn.fun_name("arg")

Lua调用Vim函数.

通道中的IPv6支持

通道中的IPv6支持

添加echoraw()

无需处理,输出到终端;可用来发送转义码,这里.

添加可选错误码到:cquit

指定代码退出,而不是总是使用1.v:exiting已在8.2.2070中添加.

2019

rand()srand()

生成随机数.1,2

interrupt()

中止运行中的脚本.

strptime()

解析时间串这里

:terminal ++shell

shell中运行:terminal命令.这里

v:argv

取调用Vim时使用的命令行参数.

添加gM

移动到行的中间这里.

hl-LineNrAbove,hl-LineNrBelow

设置"relativenumber"时,高亮光标上下方行号.

添加'cursorlineopt'

更多控制如何显示"光标".

边框和对齐'completepopup'

控制补全弹出菜单的更多选项.

"completeopt"中的弹窗

(按预览窗口的替代)在弹窗中显示额外补全信息.

:spellrare

在拼写文件中按稀有标记单词.

->符号

expr->fun(args)fun(expr, args)提高可读性的快捷方法:

[1, 2]->map({_, v -> v + 1})

见方法

弹窗

弹窗类似补全窗口,但可在VimScript更大程度地控制它.见弹窗"previewpopup".这仍是一个实验性功能.

“补全斜杠”

覆盖'shellslash'以补全.

#{}字典注解

除了键值不需要引号,#{}表示法与普通{}字典表示法相同:

#{foo: "bar"}

声音功能

可播放声音;见sound_playevent().

v:option_command,v:option_oldlocal,v:option_oldglobal

改进了OptionSet事件.

:常量

常量,与如下等价

:let v = 1 | :lockvar v

win_execute()

在指定窗口的环境中execute().

"wincolor"(温色)

此窗口,要用的高亮组,而不是hl-Normal.

g:actual_curwin,g:statusline_winid

在"状态行"(%{expr})中运行表达式时的临时设置.

:let=<<

Heredoc赋值,这里:

let text =<< trim ENDtext
END

文本属性

赋值元数据缓冲中的文本,作为Vim语法高亮的替代方法.见textprop.这仍是实验性功能.

listener_add()

添加更改缓冲时调用的回调.

函数参数的默认值

如函数Fun(value=10).见optional-function-argument.

:xrestore

重启重新连接X服务器.

environ(),getenv()setenv()

处理环境变量,123.

chdir()

域和恢复能力更改目录.

:cbefore,:cafter

浏览光标前后的错误.

搜索时显示匹配位置

用n时且"S"不在"shortmess"中时,显示"3/44".

:cabove,:cbelow,:labove,:lbelow

浏览与光标相关的错误.

控制窗口上的字体权重

"guifont"中使用"W"来控制窗口上的字体权重.见gui-font.

Tab-local目录

:tcd.类似带有:lcdwindow-local目录.

v:前缀为必填项

以前,如计数也可.当:scriptversion>=3时,必需要有v:前缀.

winnr()添加更多参数

找出邻居窗口.

CompleteChanged事件

每次更改"插入模式"补全菜单后,这里.

str2list()list2str()

按字节列表转换,及相反.

readdir()

目录内容这里.

:scriptversion

指定VimScript兼容版本.

..符号

连接符号,因为一个.有歧义,"a"..'b''a'."b"是相同的.还添加了..=.

:autocmd++once参数

只运行一次自动命令,如:

au CursorMoved * ++once :echom 'ONCE'

添加窗口ID参数到matchdelete(),clearmatches(),getmatches(),setmatches()

complete_info()

取有关当前补全信息.

rubyeval()

计算Ruby式.

CTRL-W_gt组合键,CTRL-W_gT组合键

gtgT切换选项卡.主要用来从终端窗口切换.

*=,/=,%=

如,let var*=2

a:变量是不变的

以前,有时可更改a:变量.

[:ident:], [:keyword:], [:fname:]

允许在"listchars"中使用"tab:"的第三个符

set listchars=tab:(_)

如上,按制表符最后符设置第三个符,按(______)显示制表符.

Blob类型

Blob存储二进制数据.Blob文字以0z开头,如0zDEADBEEF.见blob这里.

"FormatOptions"中的"p"标志

不要在句点后面的单个空格换行.

:redrawtabline

更改"tabline"后重画tabline(插件用).

sign_place(),sign_unplace()

定义和保存标志的函数1,2.

允许函数和命令重定义自身

以前总是必须把!添加到函数中,才能覆盖相同名字的函数.现在Vim更智能了,它允许函数覆盖自身.即在vimrc插件中,不再需要自动加载或加上!了.

:filter支持更多命令

这里

:tlmenu

终端弹出菜单.

包括xdiff

包括diff库,而不依赖外部工具来提高diff质量.许多新的"diffopt"设置如:

set diffopt+=internal,algorithm:patience

是个很好的设置.

"\

继续行注释;见line-continuation-comment:

au FileType git"\ Go to commit.\  nnoremap <Leader>g :exe printf(":!cd ~/src/vim && git diff %s^\!", split(getline("."), ' ')[1])<CR>"\ Delete commit.\| nnoremap <Leader>d :call search('^commit ', 'bc') \| :exe 'd' . (search('^commit ', 'n') - line("."))<CR>

cfilter插件

过滤快修/位置列表

'vartabstop','varsofttabstop'

可变制表位宽度,如set vartabstop=4,8使第一个制表符4个空格,其余为8个空格.

选项集(OptionSet)autocmd

每当设置选项时触发.

提示缓冲

主要用来给作业提供用户输入.

允许:unlet$ENV

以前无法真正取消设置环境变量(只需设置为空串).

CTRL-R CTRL-L

命令行中,从缓冲插入行

无参的job_info()列举所有作业

如果目录已存在,mkdir('p')不会失败

添加终端API.

terminal-api这里.

trim()

清除空格;之前必须使用substitute(),这里.

"!"添加到"guioptions"

!shell命令,使用Vim终端窗口.

终端菜单

使:popup和右击,在终端中工作.

窗口控制台中的24位颜色

"termguicolors".

‘pumwidth’

补全菜单的最小宽度.

DirChanged事件

(使用:cd,:lcd等)更改目录时,[这里]9https://vimhelp.org/autocmd.txt.html#DirChanged)

CmdlineChanged事件

命令行中,更改文本后,这里.

2017

TextYankPost事件

复制或删除文本后,这里.

win_screenpos().

窗口位置这里.

CmdlineEnter,CmdlineLeave

进入和离开命令行时.1,2

:terminal

终端缓冲.

--clean,'viminfofile'

不用插件,使用默认设置启动Vim.

"cinoptions"中的E标志

extern设置缩进.

'pyxversion',:pythonx

根据可用代码,更轻松地在Python23中运行Python代码.

相关文章:

2401vim,vim重要修改更新大全

原文 2023 更好的UTF-16支持 添加strutf16len()和utf16idx(),并在byteidx(),byteidxcomp()和charidx()中添加utf16标志,在内置.txt文档中. 添加crypymethod xchacha20v2 与xchacha20基本相同,但更能抵御libsodium的变化. 2022 添加"smoothscroll" 用鼠标滚动…...

安卓多用户管理之Userinfo

目录 前言Userinfo----用户信息1.1 属性1.2 构造器1.3 信息的判断及获取方法1.3.1 获取默认用户类型1.3.2 基础信息判断 1.4 序列化部分 总结 前言 UserManagerService内部类UserData中有一个Userinfo类型的info参数&#xff0c;在UserData中并未有所体现&#xff0c;但在后续…...

JavaScript-流程控制-笔记

1.流程语句的分类 顺序结构 分支结构 循环结构 2.if语句 1&#xff09;if结构 if( 条件 ){ // 条件成立执行的代码 } 2&#xff09;if else 结构 if( 条件 ){ // 条件成立执行的代码 }else{ // 条件不成…...

springboot + vue3实现增删改查分页操作

springboot vue3实现增删改查分页操作 环境最终实现效果实现功能主要框架代码实现数据库后端前端 注意事项 环境 jdk17 vue3 最终实现效果 实现功能 添加用户&#xff0c;禁用&#xff0c;启用&#xff0c;删除&#xff0c;编辑&#xff0c;分页查询 主要框架 后端 spri…...

leetcode01-重复的子字符串

题目链接&#xff1a;459. 重复的子字符串 - 力扣&#xff08;LeetCode&#xff09; 一般思路&#xff1a; 如果存在k是S的字串&#xff0c;记k的长度为s&#xff0c;S的长度为n&#xff0c;则一定有n是s的倍数&#xff0c;且满足对于j∈[s,n]&#xff0c;一定存在s[j]s[j-s]; …...

目标检测数据集 - 夜间行人检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;夜间、低光行人检测数据集&#xff0c;真实场景高质量图片数据&#xff0c;涉及场景丰富&#xff0c;比如夜间街景行人、夜间道路行人、夜间遮挡行人、夜间严重遮挡行人数据&#xff1b;适用实际项目应用&#xff1a;公共场所监控场景下夜间行人检测项目…...

【YOLO系列】 YOLOv4思想详解

前言 以下内容仅为个人在学习人工智能中所记录的笔记&#xff0c;先将目标识别算法yolo系列的整理出来分享给大家&#xff0c;供大家学习参考。 本文未对论文逐句逐段翻译&#xff0c;而是阅读全文后&#xff0c;总结出的YOLO V4论文的思路与实现路径。 若文中内容有误&#xf…...

查询json数组

步骤一&#xff1a;创建表格 首先&#xff0c;我们需要创建一个表格来存储包含JSON对象数组的数据。可以使用以下代码创建一个名为 my_table 的表格&#xff1a; CREATE TABLE my_table (id INT PRIMARY KEY AUTO_INCREMENT,json_data JSON ); 上述代码创建了一个包含两个列的…...

Docker mysql 主从复制

目录 介绍&#xff1a;为什么需要进行mysql的主从复制 主从复制原理&#xff1a; ✨主从环境搭建 主从一般面试问题&#xff1a; 介绍&#xff1a;为什么需要进行mysql的主从复制 在实际的生产中&#xff0c;为了解决Mysql的单点故障已经提高MySQL的整体服务性能&#xff…...

第7章-第1节-Java中的异常处理

1、异常Exception概述&#xff1a; 1&#xff09;、异常的概念&#xff1a; 现实生活中万物在发展和变化会出现各种各样不正常的现象。 例如&#xff1a;人的成长过程中会生病。 实际工作中&#xff0c;遇到的情况不可能是非常完美的。 比如&#xff1a;你写的某个模块&…...

使用python生成一个月度账单消费金额柱状图表

阿里云月度账单根据月份、消费金额&#xff08;可开票&#xff09;生成一个柱状图表 import pandas as pd import matplotlib.pyplot as plt import os# 设置中文字体 plt.rcParams[font.sans-serif] [SimHei] # 用于显示中文的宋体# 获取当前工作目录下所有CSV文件 csv_fil…...

将一个独立的磁盘添加到已有的 `/` 分区

将一个独立的磁盘添加到已有的 / 分区是比较复杂的&#xff0c;因为 / 分区已经是一个逻辑卷&#xff08;LVM&#xff09;。在这种情况下&#xff0c;可以扩展现有的 LVM 体积组&#xff08;Volume Group&#xff09;&#xff0c;然后扩展 / 逻辑卷&#xff08;Logical Volume&…...

AI智能电销器人需要注意哪些问题呢

随着科技的不断发展&#xff0c;人们出行变得越来越方便&#xff0c;市面上很多产品也越来越智能化&#xff0c;高科技的产品不仅改变了我们的生活方式而且也改变了企业的竞争方式&#xff0c;很多的企业尤其是电销行业中的大佬己经意识到了AI电销机器人的好处&#xff0c;因此…...

呼叫中心研究分析:到2027年市场规模预计将达4966亿美元

由于业务运营中以客户为中心的方法的兴起&#xff0c;呼叫中心市场近年来出现了显着增长。随着对客户满意度的日益重视&#xff0c;全球对呼叫中心服务的需求猛增。在本次分析中&#xff0c;我们将从全球和中国的角度审视呼叫中心市场的发展趋势。全球市场&#xff1a; 到 2027…...

工业数据采集分析——工厂大脑 提升综合经济效益

随着企业对数字化的认知越来越清晰&#xff0c;对工业数智化的战略越来越明确&#xff0c;企业的诉求也在发生转变。中国的工业企业经过近几十年的发展&#xff0c;自动化、信息化&#xff0c;以及一些基础的数据系统建设在不同的行业中慢慢地推进。近几年&#xff0c;工业企业…...

python系列教程218——生成器表达式

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好地理解AI技术&#xff0c;我让助理负责分享…...

jquery 实现简单的标签页效果

实现 <!DOCTYPE html> <html> <head><title>jq 实现简单的标签页效果</title><script src"/jquery/jquery-1.11.1.min.js"></script><style>.tab {cursor: pointer;width:100px;height:30px;float:left;text-align…...

C++ Web框架Drogon初体验笔记

这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的&#xff0c;但是难点在于编译项目上面&#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件&#xff0c;src放的是视图文件&#xff0c;static放的是…...

x-cmd pkg | busybox - 嵌入式 Linux 的瑞士军刀

目录 简介首次用户功能特点竞品和相关作品 进一步阅读 简介 busybox 是一个开源的轻量级工具集合&#xff0c;集成了一批最常用 Unix 工具命令&#xff0c;只需要几 MB 大小就能覆盖绝大多数用户在 Linux 的使用&#xff0c;能在多款 POSIX 环境的操作系统&#xff08;如 Linu…...

Java异常简单介绍

文章目录 1. 异常分类和关键字1.1 分类1.2 关键字 2. Error2.1 Error定义2.2 常见的Error2.2.1 VirtualMachineError2.2.2 ThreadDeath2.2.3 LinkageError2.2.4 AssertionError2.2.5 InternalError2.2.6 OutOfMemoryError2.2.6.1 OOM原因2.2.6.2 OutOfMemoryError会导致宕机吗 …...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...