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代码.

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

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

相关文章

Saprk SQL基础知识

一.Spark SQL基本介绍 1.什么是Spark SQL Spark SQL是Spark多种组件中其中一个,主要是用于处理大规模的[结构化数据] Spark SQL的特点: 1).融合性:既可以使用SQL语句,也可以编写代码,同时支持两者混合使用. 2).统一的数据访问:Spark SQL用统一的API对接不同的数据源 3).H…

超好用的阅读器更新摸鱼模式啦

潮汐阅读器重磅更新啦&#xff01;这次更新的是隐蔽模式&#xff08;摸鱼模式&#xff09;。 何为隐蔽模式&#xff1f;就是将阅读窗口的标题栏隐藏掉&#xff0c;从而可以使阅读窗口可以隐藏在任意其他窗口里面不被发现&#xff0c;从而可以快乐的看小说摸鱼啦&#xff01; …

InfluxDB学习笔记

本博客是我在学习InfluxDB的时候&#xff0c;记录的笔记&#xff0c;大家可以看看参考学些。 简介 简述 InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成&#xff0c;着力于高性能查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据&#xff0c;IoT…

18.将文件上传至云服务器 + 优化网站的性能

目录 1.将文件上传至云服务器 1.1 处理上传头像逻辑 1.1.1 客户端上传 1.1.2 服务器直传 2.优化网站的性能 2.1 本地缓存优化查询方法 2.2 压力测试 1.将文件上传至云服务器 客户端上传&#xff1a;客户端将数据提交给云服务器&#xff0c;并等待其响应&#xff1b;用户…

软件工程造价师证书有用吗?难不难考?

&#x1f3af;软件工程造价师证书是有用的&#xff0c;它证明了持有人具备评估和估算软件开发cheng本、进度和资源规划的能力。✔️在IT行业中&#xff0c;受高度重视&#xff0c;特别是在软件开发和项目管理领域。 &#x1f469;软件工程造价师考试难易程度因人而异。该证书需…

影响代理IP稳定性的因素有哪些?

代理IP作为一种网络服务&#xff0c;在生活中扮演着各种各样的角色。它们可以用于保护隐私、突破访问限制、提高网络安全性等。代理IP的稳定性受到多种因素的影响&#xff0c;下面和大家探讨一下影响代理IP稳定性的因素。 1、网络环境&#xff1a;代理IP所处的网络环境对它的稳…

腾讯云新用户的定义与权益

腾讯云作为国内领先的云计算服务提供商&#xff0c;吸引了越来越多的用户。对于新用户来说&#xff0c;了解腾讯云的新用户定义和相关权益非常重要&#xff0c;因为它关系到用户能否享受到更多的优惠和服务。 一、腾讯云新用户的定义 腾讯云新用户是指首次注册腾讯云账号并且没…

【数据库】mysql事务

一、事务的基本概念 1、事务的定义 事务可由一条非常简单的SQL语句组成&#xff0c;也可以由一组复杂的SQL语句组成。。 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性&#xff0c;保证成批的 SQL 语句要么全部执行&…

Java技术专题:「入门到精通系列」深入探索常用的六种加密技术和实现

文章目录 1. 引言2. 对称加密3. 非对称加密4. 哈希算法5. 消息摘要6. 数字签名7. 数字证书8. 拓展功能与未来展望 &#x1f389;欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&am…

产品经理如何选择城市?

年底&#xff0c;全国性的人口大迁徙即将开始。选择城市&#xff0c;堪称年轻人的“二次投胎”&#xff0c;族望留原籍&#xff0c;家贫走他乡。 古人在选择城市时&#xff0c;主要的考量因素是家族势力&#xff0c;这一点放在当代&#xff0c;大致也成立&#xff0c;如果在老…

如何在CentOS安装SQL Server数据库并通过内网穿透工具实现公网访问

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库&#xff0c;并结合cpolar内网穿透工具&#xff0…

C# 反射的终点:Type,MethodInfo,PropertyInfo,ParameterInfo,Summry

文章目录 前言反射是什么&#xff1f;常用类型操作SummryPropertyInfoMethodInfo无参函数运行 有参函数运行,获取paramterInfo 总结 前言 我之前写了一篇Attribute特性的介绍&#xff0c;成功拿到了Attribute的属性&#xff0c;但是如果把Attribute玩的溜&#xff0c;那就要彻…

【Databend】数据库和表操作

文章目录 数据库操作数据表操作创建表删除表和恢复表查看表修改表 总结 数据库操作 基本语法&#xff1a; -- 创建数据库 create database if not exists database_name; -- 查看创建数据库语句 show create database database_name; -- 使用数据库 use database_name; -- 重…

什么是企业数字化转型?数字化的价值体现在哪里?

从2015年接触平安的数字化转型&#xff0c;到2021年承接阿里云的服务数字化项目&#xff0c;再到2023年主导大大小小10来个数字化项目&#xff0c;8年的时间&#xff0c;数字化对我而言已经从一个“新词”变成了一个“旧词”。 8年过去&#xff0c;数字化也从一道企业的“选做…

迎接人工智能的下一个时代:ChatGPT的技术实现原理、行业实践以及商业变现途径

课程背景 2023年&#xff0c;以ChatGPT为代表的接近人类水平的对话机器人&#xff0c;AIGC不断刷爆网络&#xff0c;其强大的内容生成能力给人们带来了巨大的震撼。学术界和产业界也都形成共识&#xff1a;AIGC绝非昙花一现&#xff0c;其底层技术和产业生态已经形成了新的格局…

[Vulnhub靶机] DriftingBlues: 2

[Vulnhub靶机] DriftingBlues: 2靶机渗透思路及方法&#xff08;个人分享&#xff09; 靶机下载地址&#xff1a; https://download.vulnhub.com/driftingblues/driftingblues2.ova 靶机地址&#xff1a;192.168.67.21 攻击机地址&#xff1a;192.168.67.3 一、信息收集 1.…

Linux在应用层上使用I2C

Linux在应用层上使用I2C 通常情况下i2c读写一般是在kernel中使用&#xff0c;但是在应用层上一样可以使用。在应用上可以通过读写/dev/i2c-x这个节点从而控制i2c接口进行读写数据。 通常一个SOC有多个I2C控制器&#xff0c;假设有这个SOC有3个控制器&#xff0c;我们会在/dev目…

led手电筒照明线性恒流驱动芯片推荐:SM2123EGL双通道可调光

LED手电筒照明线性恒流驱动芯片是一种专门用于LED手电筒的照明系统的关键组件。它采用了线性恒流驱动技术&#xff0c;可以确保LED手电筒在不同电池电压和温度变化下&#xff0c;保持恒定的亮度输出&#xff0c;提高了LED手电筒的稳定性和可靠性。 LED手电筒照明线性恒流驱动芯…

VScode右键没有go to definition选项

1. 背景 1.1. 项目代码在远程服务器上&#xff1b; 1.2. win重装系统&#xff0c;重新安装vscode出现问题&#xff0c;没重装系统之前是没问题的&#xff1b; 2. 问题 打开vscode&#xff0c;通过ssh链接远程服务器中的项目代码后&#xff0c;选中函数右键没有go to defini…

大连理工大学软件学院2022年秋季学期《矩阵与数值分析》上机作业

文章目录 《计算机科学计算》第二版162页第12题&#xff08;1&#xff09;162页第16题216页第12题 《数值分析方法与应用》一、基础知识部分1、5、 二、线性方程组求解2、6、 三、非线性方程组求解1、4、 四、插值与逼近1、5、7、 五、数值积分2、 六、微分方程数值解法1、 《计…