IC 脚本之VIM 记录

1. 对于代码中空格与tab相互转换的可通过如下实现:

set tabstop = 4 
set expandtab   
%retab !   以上三行命令即可实现将代码中每四个空格用一个tab来缩进。set tabstop =4 
set noexpandtab 
%retab !   以上三行命令即可实现将代码中的每个tab用四个空格来实现tab相关参数
set shiftwidth=4 #换行自动变成空格
set autoindent   #设置自动缩进,当你在第一行敲击 tab + conten, 当回车第二行开始编辑器默认增加一个tab

2 使用vim 批处理文本 

setp1 : 创建一个包含所需执行vim 命令 集合的文本 test.scr
step2 : vim -es -S test.scr file1 file2  ; 这样便可以对test.scr中的命令对file1 file2 分别执行。
note: test.scr最后一行添加  :wq   保证运行结束后自动保持退出。 

3.vim 的autocmd命令

autocmd FileType makefile,tck,python  set noexpandtab # 对特定文件不展开tab
autocmd BufWritePre makefile :%s/\s*$//g<CR>    # 默认去除makefile最后空格。

4. 自定义快捷键

nmap jj <Esc>
inmap jj <Esc>
map <C-s> <Esc>:w<CR> # ctrl-s  save
imap <C-s> <Esc>:w<CR> # ctrl-s  save
imap <C-S>  <Esc>:w<CR> # ctrl-s  savemap <C-q> <Esc>:wq<CR>         # 退出
map <S-Tab> <Esc>:<<CR>        # 绘图tab
mpa <Tab>   <Esc>:s/^/\t/g<CR> # 增加tabmap <C-n> <Esc>:tabnew ./ <CR> # 新建
map <C-a> <Esc>ggvG    # 全选
map <C-m> <Esc>:et mouse=c<CR>
map <C-f> <Esc>/
map <C-y> <Esc>:tabf ./<CR> map <C-f> <Esc>/      # 寻找
map <C-r> <Esc>:%s/   #全局替换  
vmap <C-r> :s/        #部分替换

5. vim 正则

vim 元字符
\   元字符转义
^   字符串开始位置
$   字符串结束位置
*   0~∞ 次
.   任意一个字符
\{m,n} 次数匹配
\( \)  分组
\|     或
\?     0~1
\+     1~∞高阶用法:
\< \>单词左边界以及有边界
\{-1,}  非贪婪匹配

6. 命令

获取匹配字段的个数:
%s/pattern//gn  

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

OBOO鸥柏:旗下户外景区自助触摸查询一体机已布局智慧城市便民

OBOO鸥柏作为户外自助查询一体机制造商品牌源头工厂一体化&#xff0c;鸥柏室外液晶广告屏凭借其独特的展览展示交互式查询互动优势&#xff0c;OBOO鸥柏正逐渐成为城市公共服务与商业信息查询的商用及工业液晶显示终端机新标杆。基于智慧城市便民化布局主要体现于以下几点&…

Mysql每日一题(分组+select嵌套查询)

本题我通过自己的努力&#xff0c;利用多个知识点&#xff0c;完成了本题&#xff0c;目前还没有查看题解&#xff0c;一会会给出别人题解的方法&#xff0c;自己写的代码就很很繁琐很麻烦&#xff0c;如果是大佬&#xff0c;可能知道这一题就直接这个窗口函数加这个窗口函数就…

Java并发篇--线程池

线程池 为什么要创建线程池 因为CPU核心数量有限,如果每来一个任务就创建一个线程,就会使线程数远远多于CPU核心数,使线程上下文切换过于频繁,会导致系统性能降低。而且每创建一个线程都会占用一定的内存,如果每来一个任务就创建一个线程,内存消耗太大了。 ThreadPoolExecuto…

ubontu--cuDNN安装

1. 下载 cuDNN https://developer.nvidia.com/cudnn 2. 拷贝到服务器/home/<username>文件夹下 解压缩到当前文件夹&#xff1a; tar -xvf cudnn-linux-x86_64-9.5.1.17_cuda11-archive.tar.xz复制头文件和库文件到cuda安装目录/usr/local/cuda/ sudo cp /home/usern…

Mac终端使用brew命令报错:zsh: command not found: brew

当在终端中出现 zsh: command not found: brew 这个错误时&#xff0c;可能是因为 Homebrew 没有被正确安装&#xff0c;或者它的路径没有被添加到环境变量中。 1. 检查 Homebrew 是否已安装&#xff1a; 打开终端&#xff0c;运行以下命令来检查 Homebrew 是否已安装&#xf…

斯坦福iDP3——改进3D扩散策略以赋能人形机器人的训练:不再依赖相机校准和点云分割(含源码解析)

前言 今天10.23日&#xff0c;明天1024则将作为长沙程序员代表&#xff0c;在CSDN和长沙相关部门举办的1024程序员节开幕式上发言&#xff0c;欢迎广大开发者来长工作 生活 考察 创业&#xff0c;​包括我司七月也一直在招聘大模型与机器人开发人员 后天&#xff0c;则将和相关…

Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】

下面是项目级完整配置1➡eslint:【吐血分享,博主踩过的坑你跳过去!!跳不过去?太过分了给博主打钱】 浏览器自动打开项目: 你想释放双手吗?你想每天早上打开电脑运行完项目自动在浏览器打开吗?不要9998,不要998,只要你在我们爱的 package.json 中配置一下即可显示。如…

DataWorks on EMR StarRocks,打造标准湖仓新范式

在大数据领域&#xff0c;数据仓库和实时分析系统扮演着至关重要的角色。DataWorks 基于大数据引擎&#xff0c;为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台&#xff0c;为用户带来智能化的数据开发和分析体验。而阿里云提供的 EMR Serverless St…

谷歌浏览器的实验性功能介绍

谷歌浏览器&#xff08;Google Chrome&#xff09;作为全球最受欢迎的网络浏览器之一&#xff0c;以其快速、稳定和丰富的扩展功能而闻名。除了常见的功能外&#xff0c;Chrome还提供了许多实验性功能&#xff0c;这些功能可以通过启用一些隐藏的标志来访问。本文将详细介绍如何…

Acrobat Pro DC 2023(pdf免费转化word)

所在位置 通过网盘分享的文件&#xff1a;Acrobat Pro DC 2023(64bit).tar 链接: https://pan.baidu.com/s/1_m8TT1rHTtp5YnU8F0QGXQ 提取码: 1234 --来自百度网盘超级会员v4的分享 安装流程 打开安装所在位置 进入安装程序 找到安装程序 进入后点击自定义安装&#xff0c;这里…

【论文复现】STM32设计的物联网智能鱼缸

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀STM32设计的物联网智能鱼缸 【1】项目功能介绍【2】设计需求总结【3】项目硬件模块组成 1.2 设计思路【1】整体设计思路【2】ESP8266工作模式…

Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!

作者&#xff1a;来自 Elastic Platform Product Team Elastic Search AI 平台&#xff08;Elasticsearch、Kibana 和机器学习&#xff09;的 8.16 版本包含大量新功能&#xff0c;可提高性能、优化工作流程和简化数据管理。 使用更好的二进制量化 (Better Binary Quantizatio…

ubuntu20.04安装FLIR灰点相机BFS-PGE-16S2C-CS的ROS驱动

一、Spinnaker 安装 1.1Spinnaker 下载 下载地址为&#xff1a; https://www.teledynevisionsolutions.com/support/support-center/software-firmware-downloads/iis/spinnaker-sdk-download/spinnaker-sdk–download-files/?pnSpinnakerSDK&vnSpinnakerSDK 在上述地址中…

OCR+多模态数据技术,赋能海洋数据智能处理

海洋是推动高质量发展的关键区域&#xff0c;也是人类未来发展的宝库。然而&#xff0c;我们对海洋生态系统的深入理解尚不足5%。海洋大数据&#xff0c;通过观测、监测、调查、分析和统计等手段获得&#xff0c;已成为我们探索海洋世界的主要工具。 如图1所示&#xff0…

JUC学习笔记

文章目录 锁生产者消费者问题8锁现象集合类不安全Callable创建线程的三种方式 常用辅助类CountDownLatchCyclibarrierSamphore 本篇博客是之前学习JUC时记录的内容&#xff0c;对于并发编程知识只是浅浅谈及&#xff0c;并不深入。也算是给自己开新坑。建一个JUC的专栏&#xf…

集合卡尔曼滤波(EnsembleKalmanFilter)的MATLAB例程(三维、二维)

本 M A T L A B MATLAB MATLAB代码实现了一个三维动态系统的集合卡尔曼滤波&#xff08;Ensemble Kalman Filter, EnKF&#xff09;示例。代码的主要目的是通过模拟真实状态和测量值&#xff0c;使用 EnKF 方法对动态系统状态进行估计。 文章目录 参数设置初始化真实状态定义状…

OpenGL ES 共享上下文实现多线程渲染

OpenGL ES 共享上下文时,可以共享哪些资源? 共享上下文实现多线程渲染 EGL 概念回顾 EGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口,它的主要作用: 与设备的原生窗口系统通信; 查询绘图表面的可用类型和配置; 创建绘图表面; 在OpenGL ES 和…

如何安装和使用SSH远程连接工具MobaXterm

文章目录 一、下载二、安装三、使用四、配置1、配置默认编辑器2、配置右键粘贴3、SSH配置4、关闭X-Server服务 一、下载 1、进入官网&#xff1a;https://mobaxterm.mobatek.net/download-home-edition.html 2、Download——>Home Edition。 3、下载绿色安装版本。 二、安…

Java项目实战II基于微信小程序的原创音乐小程序(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着移动互…

linux-文件的读写

操作系统一切皆文件&#xff0c;访问文件实际上就是访问硬件&#xff0c;因为文件都保存在硬件上&#xff0c;或者文件就是硬件&#xff0c;而要访问硬件&#xff0c;就需要操作系统提供的系统调用&#xff0c;所以c/c函数中关于访问硬件设备&#xff0c;基本上是由系统调用封装…