VIM 里面称为 Object 的东西 -- VIM 搞起之史

优化Vim文本编辑体验:vim-textobj-sentence插件实战指南 在传统的Vim文本编辑器中,文本对象是基于字符、单词、行等基本单位进行操作的。这些基础文本对象对编程开发中的文本处理非常有效,但在处理自然语言文本,如英文写作时,就会显得不够灵活。对于句子级别的文本操作,传统Vim的文本对象并不能提供足够便利的功能。例如,在Vim中,移动到一个句子的开始或结束位置,你需要执行多个命令组合。更进一步地,删除或复制一个完整的句子,而不是从当前光标位置到句子末尾的一段,传统Vim并不直接支持这样的操作。 阅读详情
重温了下,发现又忘了一些很有用的操作,写个记录下~~~ 继续学习!!!

operator-text object 另外一种操作vim的操作
     
之前学的除了 visual mode 之外,都是operator-motion, 即操作的对象都是用动作定义的。Ex: d3w 就是删除这个操作所作用的对象是通过当前光标向后移动3个word所得到的。
但是当你的光标不是停留在一个单词的开头的时候,这样的删除就没有意义了,就要用到text object 的概念了
daw  删除光标所在位置的单词,无论光标位于单词那个字符上。
aw 的意思是 a word 
删除n个单词 就是     d[n]aw

这里有两种量词 a 和 i 
a 是有包括单词及其后面的空格
i  for inner仅仅取单词

text object 可以 :help text-objects 进行查阅
这里简单的弄个列表,具体含义还是查help:
aw : a word
iw  : inner word
as  : a sentence
is   : inner sentence
ap ip : a paragraph ; inner paragraph

a[ | a] : a  []block
 i[ | i]  : inner []block 不包括 []
a) | a( | ab: a block  i)| i( |ib
<> {}  类似
at : a tag blcok <html> ... </html> 
it : without的tag leading
a" a' a`:  "***** "   '*****'  `********`
i"  i'  i` :  只取出**内容
注意: 2i" |  2i'  | 2i`  : 包括 ” “符号,而且付略” 后面的空格
vim-textobj-user:Vim插件:创建自己的文本对象 vim-textobj-user-创建自己的文本对象 vim-textobj-user是一个Vim插件,可以轻松创建您自己的文本对象。 创建文本对象很困难,因为有很多陷阱要处理。 该插件隐藏了这些细节,并提供了定义文本对象的声明方式。 您可以使用正则表达式定义简单的文本对象,也可以使用函数定义复杂的文本对象。 例子 模式定义的简单文本对象 定义ad / id以选择日期,例如2013-03-16 ,并at / it处选择时间,例如22:04:21 : call textobj#user#plugin ( ' datetime ' , { \ ' date ' : { \ ' pa 立即下载

相关推荐

vim-textobj-user, Vim插件.zip

vim-textobj-user, Vim插件 vim-textobj-user---创建你自己的文本对象 vim-textobj-user是一个用于创建你自己的文本对象而不用痛苦的Vim插件。 因为要处理许多错误,所以很难创建文本对象。 这个插件隐藏了这样的细节,并提供了定义文

Vim文本对象

文本对象(text object),在Vim中并没有给出明确的定义。不过当我们知道文本对象该如何使用时,自然就明白什么是文本对象。 Vim把文本对象分为了两类 ,一类是块文本对象,另一类是非块文本对象。 非块文本对象 什么是非块文本对象呢?Vim没有给出明确定义,但是划分了哪些命令属性非块文本对象。命令如下 非块文本对象 说明 aw 当前单词及单词前面或者后面的空格 iw 当前单词 aW 当前字串及字串前面或者后面的空格 iW 当前字串 as 当前句子及句子前面或后面的空格

不惜留恋_ 1148

MT5交易软件系统源码

Manager配置的功能及权限:管理客户、开户,销户、入金、信用额度、修改定单、人工交易报表、设定点差、强制平仓、修改密码,设定持仓交割单或挂单小止盈止损点数;26、修改价格 27、更改K线图历史价格 28、同步历史数据;2、系统设置 3、交易管理 4、交易柜台 5、价格更改 6、多台服。务器联机 7、恢复交易历史 8、数据源调整 9、备份服务调整 10、交易市场设定 11、交易单更改 12、平台时间设定(全世界) 13、可添加商品;15、设置商品利息;独立主机(服务器、VPS、VM)

tutujunjun的博客 904

每日一Vim(18)Text-Object

每日一Vim(18)Text-Object 前两节讲了Visual mode相关内容,这里提一个小问题,“如何选择一个单词?”3秒后...,你可能会使用命令vw,很不幸的是它会把下一个单词的首字母也选中。如果你足够细心的话,你会发现答案在之前的章节中讲过,命令是:viw。它的作用是选取一个单词(word),无论光标在这个单词的哪个位置都能选中整个单词,那么i到底有什么作用呢?这就是今天要讲解的...

我的成长之路 http://foofish.net 575

嵌入式开发必备:手把手教你用DB-9连接器搞定RS-232串口通信(附万用表测试技巧)

本文详细解析了嵌入式开发中RS-232串口通信的硬件连接核心。从DB-9连接器的引脚定义入手,深入讲解DTE与DCE设备角色,明确直连线与交叉线的选择法则,并重点分享了使用万用表进行线缆连通性测试、电压测量及故障诊断的实战技巧,帮助开发者彻底掌握串口通信的硬件连接与排查方法。

tgb345678的博客 1166

【医学影像】Deep Learning for Automatic Pneumonia Detection

写在前面的话: 这篇论文是北美放射学会(RSNA)在Kaggle平台上托管的肺炎区域检测挑战赛取得第二名成绩的解决方案。因为笔者需要用到其中的图像增强方案,因此本篇博客只介绍了数据集和图像增强,关于模型的改进和其它改进点没有涉及。 论文地址:https://arxiv.org/abs/2005.13899 代码地址:https://github.com/tatigabru/kaggle-rsna 比赛地址:https://www.kaggle.com/c/rsna-pneumonia-detection-c

chenzhoujian_的博客 1567

10个Vim文本对象操作技巧:vim-galore推荐的高效选择与修改指南

Vim作为一款强大的文本编辑器,其文本对象操作功能是提升编辑效率的核心。本文将分享vim-galore推荐的10个实用文本对象操作技巧,帮助你快速掌握Vim的高效选择与修改方法,让文本编辑变得更加流畅和精准。 ## 什么是Vim文本对象 在Vim中,文本对象是一种特殊的选择方式,它允许你基于文本的结构来选择内容。与传统的光标移动不同,文本对象可以让你直接选中一个单词、句子、段落或者括号内的内容

gitblog_01123的博客 451

从ADS到Origin:高效绘制负载牵引Smith圆图的完整指南

本文提供了一份从ADS导出负载牵引数据并在Origin中绘制专业Smith圆图的完整指南。详细介绍了数据导出、导入、关键的数据解释步骤,以及高效处理多组曲线的技巧,帮助射频工程师快速生成用于报告和论文的出版级图表。

tgb3456789的博客 1136

实习中夹缝里苦逼的vim学习 --VIM搞起之史

可能主题没怎么突出,这些vim的命令都是从 vim自带的 user-manual 里面学习的。这里mark一下哈: :syntax manul  人为手动为特定的文档高亮 :set syntax=ON :set syntax=OFF // 看就了语法高亮,可能会晕,所以也可以关掉 :set autowrite  vim 自动buffer 保存到文档 :wr

lsff Code World 695

EVE-NG 新增 qcow2 镜像教程

本文介绍了如何在 EVE-NG 网络仿真平台中添加 QCOW2 镜像并配置 YML 文件。首先,用户需要了解 EVE-NG 的目录结构,上传并重命名 QCOW2 镜像,然后设置文件权限并刷新界面以识别设备。接着,讲解了 YML 文件的作用,它用于定义设备的CPU、内存、网卡等参数,并给出了配置示例。若有多个设备版本,可以通过复制并重命名 YML 文件使其独立显示。最后,通过检查 QEMU 进程和日志验证 YML 配置是否生效。总结部分强调了 EVE-NG 的自动识别机制以及独立管理设备版本的方式。

qq_41862216的博客 3075

5G/NR SSB学习总结

6.1 SSB概念 同步信号和PBCH块(Synchronization Signal and PBCH block, 简称SSB),它由主同步信号(Primary Synchronization Signals, 简称PSS)、辅同步信号(Secondary Synchronization Signals, 简称SSS)、PBCH三部分共同组成。 6.2 SSB特征 ...

欢迎来到小七的博客,这里将带你深入探索5G通信的神秘世界。无论你是通信领域的专业人士还是对这一领域充满好奇心的技术爱好者,这里都有专业协议解读、通信知识普及以及有趣的Python编程内容等你发现。 8万+

vim 安装Emmet插件

最近说好的要学做移动App,想来想去,还是先从基础搞起,先把失散多年的html捡捡。Emmet是vi的一个插件,它可以让我等更方便的编辑html。

阿修罗道 8695

【VTKExamples::PolyData】第十六期 GradientFilter

本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助!

qq_40041064的博客 319

用typescript写react和node是怎样的一种体验

还不知道typescript是啥的前端童鞋需要做下功课了。 接触typescript挺早的。13年底的时候,公司的牛人在团队内推广typescript,没多久我们就把typescript做的项目搞上了生产环境。玩新东西的初期都是很爽的,但没多久就变成了灾难。团队人员更替,培训/学习成本增加;开发工具不统一,效率极其低下;ts带来的利好被消耗的一干二净,只有无尽的坑。种种不顺,最后不得不把所有

hsany330的专栏 2543

YOLOv8改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块

许多证据表明层次化网络对图像恢复(IR)任务通常不太有效,因为IR的目标是逐个预测像素值(密集预测),而缩小特征图会丢失重要的像素级信息。然而,层次化结构有降低时间复杂度以及学习语义级和像素级特征表示的优点。为了弥补缺点并利用优点,设计了H - RAMi层。

Limiiiing的博客 378

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

php后端都需要学什么,学后端都要学哪些基础知识呢

题主问题太大了 乍还真想不出来需要什么「基础知识」;不过看标签写着PHP - -首先PHP的各种语法之类的,最最基本的;然后找一个顺手的编辑器,IDE吧,别迷信什么vim, emacs, 记事本的;然后框架,写东西要快嘛,防止重复制造轮子,laravel之类的搞起,然后免不了要和数据库打交道,先说数据库管理的,需要用到的工具需要会吧(cli方式, phpmyadmin, pgadmin, n什么...

weixin_36156209的博客 362

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux C/C++ 编程环境搭建全攻略:如何让你的开发环境好用到飞起?

Linux C/C++ 编程环境搭建全攻略:如何让你的开发环境好用到飞起?

Henry313的博客 5530

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Mac下搭建Nodejs环境

很多人用VIM,这个东西,一直不看好。要记的东西太多。webStorm听说很不错,but官网上下不了mac版。费了1天时间,终于找到一个好用靠谱的NodeJS IDE。   1、下载Sublime Text:http://www.sublimetext.com。终身免费。界面炫酷,简单小巧。   2、Sublime默认没有Nodejs语法高亮与自动补全,需要下载Nodejs插件:htt

u014709798的专栏 523

php需要学哪些,学后端都要学哪些基础知识呢

题主问题太大了 乍还真想不出来需要什么「基础知识」;不过看标签写着PHP - -首先PHP的各种语法之类的,最最基本的;然后找一个顺手的编辑器,IDE吧,别迷信什么vim, emacs, 记事本的;然后框架,写东西要快嘛,防止重复制造轮子,laravel之类的搞起,然后免不了要和数据库打交道,先说数据库管理的,需要用到的工具需要会吧(cli方式, phpmyadmin, pgadmin, n什么...

weixin_42503487的博客 124

嵌入式Linux学习笔记(1)开篇

文章目录前言一个项目经历带来的思考知识体系 前言 我本身大学阶段读的是机械专业,后来考了研究生,导师搞自动化方向,于是就转了个弯,搞起了单片机开发,用过最初的atmel和nxp的51系列,后来做产品有用过avr系列和microchip公司的pic系列,最后跟着大潮用了stm32。顺便说一句,pic系列单片机真的相当优秀,当年是行业霸主,遥遥领先,以至于国内最初起步的mcu芯片企业都是直接抄袭pic。相比于今天无孔不入的stm32,当年的pic在技术上有一个相当大的优势,就是他的端口映射功能几乎可以随意映射,

兰陵笑笑生SD的博客 459

Mac下搭建Nodejs开发环境Sublime

 很多人用VIM,这个东西,一直不看好。要记的东西太多。webStorm听说很不错,but官网上下不了mac版。费了1天时间,终于找到一个好用靠谱的NodeJS IDE。   1、下载Sublime Text:http://www.sublimetext.com。终身免费。界面炫酷,简单小巧。   2、Sublime默认没有Nodejs语法高亮与自动补全,需要下载Nodejs插件:ht...

zhelong111的专栏 267

java版本切换_通过一个命令轻松切换Java的版本

前言在日常开发中,有时候我们需要切换jdk版本,去编译一些指定jdk的东西. 比如今天我需要编译Android6.0源码,那我得把jdk切换到openjdk-1.7, 要知道, 我还要用1.6的jdk编译安卓4.4.4源码的.那么问题来了,一键切换java版本的要如何实现.我们看一下实现后的效果.我们可以看到,默认java环境是1.6.0, 当我输入java7后, java version变成了1...

weixin_39925031的博客 1348

在命令窗口看java版本,通过一个命令轻松切换Java的版本

前言在日常开发中,有时候我们需要切换jdk版本,去编译一些指定jdk的东西. 比如今天我需要编译Android6.0源码,那我得把jdk切换到openjdk-1.7, 要知道, 我还要用1.6的jdk编译安卓4.4.4源码的.那么问题来了,一键切换java版本的要如何实现.我们看一下实现后的效果.我们可以看到,默认java环境是1.6.0, 当我输入java7后, java version变成了1...

weixin_39705065的博客 199

java切换jdk版本_一个命令轻松切换Java版本

引言有时候,我们需要切换jdk版本,去编译一些指定jdk的东西. 比如今天我需要编译Android6.0源码,那我得把jdk切换到openjdk-1.7, 要知道, 我还要用1.6的jdk编译安卓4.4.4源码的.那么问题来了,一键切换java版本的要如何实现.我们看一下实现后的效果.打开应用保存高清大图我们可以看到,默认java环境是1.6.0, 当我输入java7后, java version...

weixin_35364187的博客 813
上一篇: 实习中夹缝里苦逼的vim学习 --VIM搞起之史
下一篇: 实习实时感言
lsff01
博客等级 码龄14年 4粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值