.vimrc文件的语句语法
本文结构:
a、简介
b、详细解释其中的一些常见语句和语法。
a、.vimrc 文件是 Vim 编辑器用于配置用户设置和自定义行为的文件。当 Vim 启动时,它会读取 .vimrc 文件中的命令和设置,并根据这些指令来配置编辑器的行为。
b、.vimrc 文件中的语法和命令基于 Vim 脚本语言,下面是其中的一些常见语句和语法。
1. 设置选项
Vim 有许多内部选项,你可以通过 set 命令来配置它们。例如:
set number " 显示行号
set tabstop=4 " 设置制表符宽度为4
set shiftwidth=4 " 设置缩进的空格数为4
set expandtab " 使用空格代替制表符
set hlsearch " 高亮显示搜索结果
2. 映射(Mappings)
映射允许你定义快捷键。常见的映射命令包括 nnoremap(普通模式下非递归映射)、inoremap(插入模式下非递归映射)等。
nnoremap <C-j> :w<CR> " 将 Ctrl+j 映射为保存文件
inoremap <C-k> <Esc>:w<CR>i " 在插入模式下,Ctrl+k 映射为退出插入模式、保存文件并重新进入插入模式
3. 函数(Functions)
Vim 脚本也支持函数的定义和调用。
function! MyFunction() echo "Hello from MyFunction!"
endfunction nnoremap <Leader>f :call MyFunction()<CR> " 调用上面定义的函数
4. 条件语句(Conditional Statements)
你可以使用 if、elseif 和 else 语句来根据条件执行不同的命令。
if &filetype == 'python' setlocal indentexpr=GetPythonIndent() setlocal indentkeys+=0{,0},:,0#,!^F,o,O,*<Return>
endif
5. 循环(Loops)
Vim 脚本支持 for 和 while 循环。
for i in range(1, 5) echo "This is iteration " . i
endfor
6. 插件和脚本的加载
你可以在 .vimrc 文件中使用 source 命令来加载其他的 Vim 脚本文件,或者通过插件管理器(如 Vim-Plug、Vundle 等)来安装和配置插件。
source ~/.vim/my_custom_script.vim " 加载自定义脚本
Plugin 'tpope/vim-fugitive' " 使用 Vim-Plug 安装插件(需要先安装 Vim-Plug)
7. 注释
.vimrc 文件中的注释以双引号 " 开头,用于解释代码的目的或行为。
" 这是一个注释,不会被 Vim 执行
8. 自定义命令(Custom Commands)
你可以使用 command! 语句定义自己的 Vim 命令。
command! ToggleNumber toggle number
9. 列表和字典
Vim 脚本支持列表(数组)和字典(关联数组)数据结构,可以在 .vimrc 文件中定义和使用它们。
let myList = ['apple', 'banana', 'cherry']
let myDict = {'name': 'Alice', 'age': 30}
10. 自动命令(Autocmds)
你可以使用 autocmd 来定义当特定事件发生时自动执行的命令。
autocmd FileType python setlocal indentexpr=GetPythonIndent()
相关文章:
.vimrc文件的语句语法
本文结构: a、简介 b、详细解释其中的一些常见语句和语法。 a、.vimrc 文件是 Vim 编辑器用于配置用户设置和自定义行为的文件。当 Vim 启动时,它会读取 .vimrc 文件中的命令和设置,并根据这些指令来配置编辑器的行为。 b、.vimrc 文件中…...
c语言之函数指针作形参
在一些c语言的大工程中,会在定义的函数中,把一些其他函数指针作为本函数形参。 函数指针作形参的例子 代码如下: #include<stdio.h> int max(int a,int b) { return(a>b?a:b); } int min(int a,int b) { return(a<b?a:b); } i…...
python文件的读取操作
打开文件 fopen("F:/python/helloworld/测试.txt","r",encoding"UTF-8")读取文件 print(f"读取10个字节的结果{f.read(10)}") print(f"读取全部字节的结果{f.read()}") linesf.readlines() print(f"{lines}")读…...
查看并设定【网络适配器】的优先级(跃点数)
目录 前言: 1.查看所有的适配器 2.修改优先级(需要以管理员身份运行) 跃点数(InterfaceMetric ) DHCP 3.修改后的效果 pwoerShell 再次运行之前的程序 4.其他 参考 网络适配器1,8相关知识介绍1 …...
深入理解 Hadoop 上的 Hive 查询执行流程
在 Hadoop 生态系统中,Hive 是一个重要的分支,它构建在 Hadoop 之上,提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集,包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…...
JS封装网页进入/退出全屏功能,兼容各大主流浏览器
1、演示 2、封装进入全屏函数 mozRequestFullScreen:兼容Firefox webkitRequestFullscreen:兼容 Chrome、Safari、Opera msRequestFullscreen:兼容:IE/Edge const enter () > {const element document.documentElementif (el…...
el-table的复选框勾选整行变色
要实现el-table的复选框勾选整行变色,你可以使用element-ui提供的row-class-name属性结合scoped slot来完成。 首先,你需要为el-table组件添加 row-class-name 属性,并给它绑定一个方法。在这个方法中,你可以根据你的业务逻辑来判…...
一步一步写线程之八线程池的完善之二数据结构封装
一、数据容器 在前面分析过,不管是线程任务的封装还是同步数据队列的封装,都是需要一个数据结构的。一用来说,如果没有什么特殊的原因,开发者都是使用STL中数据结构。比如前面经常见到的std::queue,std::deque,std::vector,std::…...
go连接数据库(原生)
根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 常用的关系型数据库基本上都支持,下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…...
【C语言】2048小游戏【附源码】
欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏描述: 2048是一款数字益智类游戏,玩家需要使用键盘控制数字方块的移动,合并相同数字的方块,最终达到数字方块上出现“2048”的目标。 每次移动操作,所…...
部署项目遇到的各种问题总结
文章目录 前言一、后端问题 jar包运行出现错误宝塔面板使用jdk17二、数据库问题 版本问题三、前端问题 连不上后端总结 前言 在做完项目之后,为了让别人访问到自己的网站,就需要部署前端后端以及数据库,但是在部署的过程中出现了各种问题和困…...
JavaSE:抽象类和接口
目录 一、前言 二、抽象类 (一)抽象类概念 (二)使用抽象类的注意事项 (三)抽象类的作用 三、接口 (一)接口概念 (二)接口语法规则 (三&a…...
发票是扫码验真好,还是OCR后进行验真好?
随着科技的进步,电子发票的普及使得发票的验真方式也在不断演进。目前,我们常见的发票验真方式主要有两种:一种是扫描发票上的二维码进行验真,另一种是通过OCR(Optical Character Recognition,光学字符识别…...
【AIGC调研系列】AIGC+Jmeter实现接口自动化测试脚本生成
AIGC(人工智能生成内容)结合JMeter实现接口自动化测试脚本生成的方法,主要涉及到通过流量收集工具和AIGC技术获取用户操作接口数据,并利用这些数据生成自动化测试脚本的过程。这种方法可以有效提高软件测试的效率和质量[1]。JMete…...
前端|babel升级
问题 项目不支持可选链调用过多的 babel 插件 步骤 基础包 dependencies “react-scripts”: “5.0.1” devDependencies “customize-cra”: “^1.0.0”,“react-app-rewired”: “^2.2.1”, 框架包 dependencies “react”: “16.13.1”,“react-dom”: “16.13.1”, …...
【微服务】spring状态机模式使用详解
一、前言 在很多系统中,通常会涉及到某个业务需要进行各种状态的切换操作,例如在审批流程场景下,某个审批的向下流转需要依赖于上一个状态的结束,再比如电商购物场景中,一个订单的生命周期往往伴随着不同的状态&#…...
【算法刷题day14】Leetcode:144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历
文章目录 二叉树递归遍历解题思路代码总结 二叉树的迭代遍历解题思路代码总结 二叉树的统一迭代法解题思路代码总结 草稿图网站 java的Deque 二叉树递归遍历 题目: 144.二叉树的前序遍历 94.二叉树的中序遍历 145.二叉树的后序遍历 解析:代码随想录解析…...
mysql闲谈
如何定位慢查询 1、测试环境压测时,有的接口非常慢,响应时间超过2秒以上。当时系统部署了运维的监控系统Skywalking,在展示报表中可以看到是哪儿个接口慢,可以看到SQL具体执行时间。 2、如果没有类似的监控系统,在Mysq…...
物联网学习1、什么是 MQTT?
MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通…...
【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析
一、引言 在机器学习项目中,数据探索是至关重要的一步。它不仅是模型构建的基础,还是确保模型性能稳定、预测准确的关键。数据探索的过程中,数据质量和数据特征分析占据了核心地位。数据质量直接关系到模型能否从数据中提取有效信息ÿ…...
深入解析:parseInt 到底有几个参数?
🔢 深入解析:parseInt 到底有几个参数? 🤔 parseInt 的签名 parseInt 函数接收 两个 参数: parseInt(string, radix)string (必填):要被解析的值。如果参数不是字符串,会先转换为字符串。rad…...
JimuReport积木报表 — 实战API数据源动态参数与分页优化
1. 为什么API分页总让人头疼? 做过报表开发的朋友应该都遇到过这样的场景:后台接口明明提供了分页参数,但报表工具里就是没法正常翻页。要么点了下一页数据没变化,要么直接报错。我在第一次用JimuReport对接API数据源时࿰…...
别再折腾路由器了!用Go语言给阿里云/腾讯云域名写个DDNS服务(附完整代码)
用Go语言打造高可靠DDNS服务:从阿里云到腾讯云的完整实践 每次重启光猫后,公网IP地址就像捉迷藏一样消失不见——这种烦恼对于需要远程访问家庭NAS或自建服务器的技术爱好者来说再熟悉不过了。市面上的第三方DDNS工具要么功能臃肿,要么存在隐…...
为什么你的KFServing比别人慢3.8倍?:SITS 2026现场调试实录——AI原生编排中被忽略的4个cgroup v2陷阱
更多请点击: https://intelliparadigm.com 第一章:为什么你的KFServing比别人慢3.8倍?:SITS 2026现场调试实录——AI原生编排中被忽略的4个cgroup v2陷阱 在 SITS 2026 现场压测中,同一 KFServing v0.11.2 集群部署相…...
3403开源:黄大年茶思屋榜文保姆级全落地解法「34期 3题」融合算力跨层语义感知协同调度体系双路径工程落地全解
华夏之光永存・开源:黄大年茶思屋榜文保姆级全落地解法「34期 3题」 小标题:融合算力跨层语义感知协同调度体系双路径工程落地全解 一、摘要 融合算力跨层语义感知协同调度领域,当下异构算力分立管控、静态资源划分、单任务独占调度等传统模式已触及全球工程性能绝对天花…...
ComfyUI-Manager终极指南:快速优化AI工作流性能的完整方案
ComfyUI-Manager终极指南:快速优化AI工作流性能的完整方案 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various c…...
别埋头苦选了!用对方法,俄罗斯的爆款就是你的货源!
标题建议(任选其一):🔥 扒光了同行底裤:跨境电商“无货源拿货”的顶级神操作,原来他们都在这么干!别再傻乎乎囤货了!一张图看懂“Ozon爆品 ➡️ 1688源头”的极速变现闭环。跨境圈不…...
OBS多平台直播终极指南:obs-multi-rtmp插件让你一键同步推流到各大平台
OBS多平台直播终极指南:obs-multi-rtmp插件让你一键同步推流到各大平台 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为多平台直播的繁琐配置而烦恼吗?obs…...
别再傻傻分不清!舵机、步进、无刷、永磁同步,这四种电机到底怎么选?
电机选型实战指南:舵机、步进、无刷与永磁同步的黄金法则 在机器人关节调试现场,一位工程师盯着反复抖动的机械臂摇头:"早知道该用无刷电机...";创客空间里,几个学生围着一台失控的3D打印机争论:…...
LaTeX公式一键转Word:告别繁琐复制,提升学术写作效率
LaTeX公式一键转Word:告别繁琐复制,提升学术写作效率 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为将网页上的数…...
