键盘上的疯兔
码龄16年
关注
提问 私信
  • 博客:478,156
    社区:30,124
    问答:9,725
    518,005
    总访问量
  • 119
    原创
  • 12,397
    排名
  • 133
    粉丝
  • 0
    铁粉

个人简介:乐于钻研问题背后的规律,并乐于编程证实。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2008-10-20
博客简介:

TMS_LI的专栏

查看详细资料
  • 原力等级
    当前等级
    2
    当前总分
    121
    当月
    2
个人成就
  • 获得187次点赞
  • 内容获得78次评论
  • 获得304次收藏
创作历程
  • 7篇
    2024年
  • 22篇
    2021年
  • 8篇
    2017年
  • 6篇
    2015年
  • 6篇
    2014年
  • 15篇
    2013年
  • 29篇
    2012年
  • 38篇
    2011年
成就勋章
TA的专栏
  • Emacs
    7篇
  • Assemble
    6篇
  • SDK/MFC
    21篇
  • C/C++
    9篇
  • Compiling Technique
    9篇
  • Vim
    7篇
  • Misc
    18篇
  • Visual Studio
    7篇
  • C++愤恨者札记
    10篇
  • Git
    7篇
  • Debugger
    4篇
  • Algorithm
    3篇
  • Network
    1篇
  • .NET
    2篇
  • COM
    2篇
  • Computer Graphics
    15篇
  • Mathematics
    11篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

做异端中的异端 -- Emacs裸奔之路7: 怀念Vim的好

上面代码执行之后,只要执行forward-word或者backward-word,就可以使用字母f与b重复,如果出现f与b之外的按键,就中断。组合键的另一个问题就是,你必须两只手同步放在键盘上,如果你想偶尔跷一个二郎腿或者换一个坐姿,就不是非常方便了。如果向前移动一个字,Vim只要在ESC模式下按w,而Emacs是Alt-f.从Vim切换成Emacs之后,有一明显的不适就是感受Emacs的按键很硬,特别是当你对键盘改键之后不是很熟悉的时候,你会用力按住Alt,生怕有差错。但大部分日常并不需要这么复杂.
原创
发布博客 2024.12.04 ·
601 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

做异端中的异端 -- Emacs裸奔之路6: 不可能存在的跳转功能

当一个问题存在两难时,市面上就不太可能出现稳定的,大众化的解决方案。这很多是一个哲学问题两害权衡,存在很强的个性差异.这种问题需要自己解决,这个就是为什么要使用Emacs或者Vim的原因。今天分享的一个想法,就是调用跳转树的处理方案。由于这里的操作很大的个性化及手工化,没有很合适分享的代码,只是提出方案,抛砖引玉。摒弃IDE的一个后果就是无法方便的查看函数的调用栈.而且这个过程要反复多次,因为需要反复琢磨,特别是一些大型项目,或者写得特别烂的代码,
原创
发布博客 2024.12.03 ·
622 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

做异端中的异端 -- Emacs裸奔之路5: 条件反射式移动

移动命令使用频率非常之高,只要方法多一个小小的弯路,对使用体验影响都很大。克服移动上的难度,离掌握Emacs就不远了。但能快速移动到某一行,这种方式太低效了,就算是使用C-r/C-s搜索字符,也非常的麻烦。本文以上下移动命令为例,利用人的本能条件反射,实现高效的移动方式。
原创
发布博客 2024.12.02 ·
492 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE

确切地说,你不需要在IDE里面编写或者阅读代码。IDE用于Render资源文件比较合适,但处理文本,并不划算。这的文本文件,包括源代码,配置文件,文档等非二进制文件。但这些便利,是有代价的。IDE需要不断地扫描项目中的源码,这是一个词法与语法分析的过程,与编译过程类似,只是不产生机器码而已。这是一个非常耗时的过程,使用过Android Studio或者Eclipse的同学应该体验深刻,项目启动时实在太慢了。
原创
发布博客 2024.11.29 ·
942 阅读 ·
18 点赞 ·
0 评论 ·
19 收藏

做异端中的异端 -- Emacs裸奔之路3: 上古神键Hyper

谈一下快捷捷冲突的问题。
原创
发布博客 2024.11.29 ·
865 阅读 ·
26 点赞 ·
0 评论 ·
5 收藏

做异端中的异端 -- Emacs裸奔之路2: 直列键盘是最后的妥协

之前把CapsLock映射成Ctrl,所以大量使用小拇指,在组合键中,如果重复一个操作,比如Backspace多个字符,往往需要一直按着Ctrl,这导致小拇指负荷过大。剩下的人,也不会接受这个绑定,一般选择Emacs的其它发布,如Doom, Spacemacs,这些发布一般使用Vim的绑定。为了保持原来的按键不变,需要利用对按键按下方式,具体来说就是,当正常敲击时(即按下马上放开),保持原按键,当按着不动时,不当Ctrl,还有Shift,Alt也一样,在常规键盘上,按这几个键盘,你不会感觉舒服。
原创
发布博客 2024.11.28 ·
484 阅读 ·
20 点赞 ·
0 评论 ·
13 收藏

做异端中的异端 -- Emacs裸奔之路1: Vim vs Emacs

Emacs是我见到过的最强大的编辑器,功能与便利性远远超过包括Vim在内的其它编辑器。Emacs功能上要强很多,Elisp比Vim Script优秀,而且优美,你可以用hypen命名变量与函数。我从2011年开始使用Vim,到去年(2023)开始转成Emacs,所以在一些发言权。另外,原生的Emacs补全时,不像Vim一样用菜单下拉显示,所以不清楚候选是什么.做异端中的异端 – Emacs裸奔之路1: Vim vs Emacs。唯一一点Vim能取胜的就是,Vim使用点号重复上次编辑命令,
原创
发布博客 2024.11.28 ·
603 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Qt依赖库路径配置

Qt依赖库路径配置问题Windows下,Qt里有两个项目LockerSDKDemo及LockerSDK.LockerSDKDemo依赖LockerSDK,而LockerSDK依赖外部库,库文件放在其根目录下的depends目录中.如何配置可以在无需复制任何依赖库的情况下直接编译运行LockerSDKDemo?LIBS如果可以将依赖库的路径添加到进程的Path环境变量中,就可以直接运行程序.这一点可以通过LIBS变量来完成.LIBS在Qt官网上并没有直接这样介绍,但在实际上它确实这样做的..
原创
发布博客 2021.10.18 ·
3138 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

树状与网状版本仓库分析

树状与网状版本仓库分析问题背景软件版本结构并不是总是线状的.线状,即版本按先后顺序一个接一个地更新,这是非常理想的情况.实际上大部分项目并不这样维护.项目时间久了,版本可以变得非常复杂.考虑下面的仓库:主干分支为master, 另外还有三个分支C,B1及B2.它们的关系是,master维护最基本的共用代码,为其它分支所共用,C在master上定制的,B1与B2在C上定制的.此时的任务是,在B1及B2上应用最新的master代码,要怎么处理呢?树状结构即使用rebase对分支进行重构,让版
原创
发布博客 2021.10.11 ·
467 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

英文语法相关总结

英文语法相关总结英文的特点中英文语法大致是一样的.但相对于中文,或者说精确.中文让人脑补的东西比较多,很多需要读者意会的.例如“宾语”及"上市”这两个词不一定所有人都看得明白,但它们对应的英文"object"及"listed"这个词几乎所有人都能明白.中英区别总结几个方面:一字多义“老吾老,以及人之老。”“老"本是形容词,这里同时作名词及动词使用.相似的例子有“道可道非常道”中的“道”.动词可以叠加使用中:我们找人搬家。英:We call other people to move.
原创
发布博客 2021.07.28 ·
454 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

抛物线的切线

抛物线的切线抛物线切线的这两个性质是理解Voronoi平面图与空间凸包映射的基础,有些书上会与解析几何的方法求得,而这里主要使用平面几何的方法.性质1:两切线交点与两切点的水平距离相同这个性质对任何抛物线都成立.D,E是抛物线上的两个点,过它们的切线交于点H,D,E在抛物线准线上的正交投影为F与G,求证,H与DF及H与EG的距离相同.证明过程需要利用抛物线的一个特点:平行于对称轴的光打在曲线上会汇于焦点.C是抛物线的焦点,而FG是准线,所以CD=DF.由于抛物线的光学特性,所以:∠JDH=
原创
发布博客 2021.06.23 ·
12425 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

最远点Voronoi图的邻边

最远点Voronoi图的邻边结论1:凸包内部的点没有最远区域证明:假设凸包内部一个点I的最远区域存在,令G为此区域中的一点,连接GI,延长线交凸包边界于点H,H所在的边为CD,显然在I在△GCD\triangle{GCD}△GCD内部,所以GI不可能同时超过三角形的两夹边GC与GD,所以,对于G可能属于C或者D,至少不属于I.即这样的点G不存在,意味I的区域也不存在.即凸包内部的点没有自己的最远区域.结论2:凸包相邻的两个点的最远区域一定也相邻凸包边上相邻的三个点A,B,C,做B点最远
原创
发布博客 2021.06.10 ·
427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MATLAB的线性规划工具

MATLAB的线性规划工具问题描述某次考试,总分100分.分三种题型:单选题13题,每题3分,共39分.多选题10题,每题3.1分,共31分.判断题12题,每题2.5分,共30分.交卷之后,只知道分数为79.3,问:单选题、多选题、判断题分别做错了多少?MATLAB meshz辅助求解假设单选题、多选题、判断题做错数量分别为x,y,z.则可列方程:3x+3.1y+2.5z=100−79.33x + 3.1y + 2.5z = 100-79.33x+3.1y+2.5z=100−79.3
原创
发布博客 2021.04.30 ·
1023 阅读 ·
2 点赞 ·
5 评论 ·
17 收藏

单调多边形的三角剖分

单调多边形的三角剖分问题描述单调多边形指存在一个方向,垂直于此方向的所以扫描线与多边形只有两个交点。这里讨论垂直方向单调多边形的三角剖分。为方便描述,这里没有水平的边。规律1: 同侧端点不可能出现跨越把多边形从最高点到最低点处剖开,分成左右两链,其中任何一条链,端点都是按y值顺序排列的。也就是说,下面的端点不可能高于上面的端点,否则,与y值方向的单调性相违背。如图:D高于C时,显然在C处的水平线会再次与此链相交。规律2:异侧相邻如果两个端点,在竖直方向上相邻的,但不在同一侧,即分别在
原创
发布博客 2021.04.28 ·
853 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

距两点距离之比恒定点的轨迹

距两点距离之比恒定点的轨迹问题到两点的距离之和不变的点轨迹是椭圆,到两点距离之差不变的点轨迹是又曲线,那么到两点距离之比不变点的轨迹是什么呢?由于角平分线的特性,问题可以这样描述:AB之间有一点D,在AB之外找一点C,所得CD是∠ACB\angle{ACB}∠ACB的角平分线,求C的轨迹。三角形两腰的比例为:ACBC=ADDB\frac{AC}{BC} = \frac{AD}{DB}BCAC​=DBAD​而这个比例固定,容易用解析几何的方法求出C的轨迹方程。结果是一个圆。这里使用几何的方法证
原创
发布博客 2021.03.30 ·
3235 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

多面体欧拉定理推导

多面体欧拉定理推导只里描述三维情况下对欧拉定理一些思考。在三维空间中多面体欧拉定理可表示为:顶点数-棱长数+表面数=2连通图上的规律首先考虑二维平面上,一个连通图的点、边与孔之间的关系。平面上的一个连通图:添加点边中间添加一个顶点时, DE上添加一点G,边会同时增加一条,但孔的数目不变。边两端添加一个顶点,E外侧添加点H,边会同时增加一条,但孔数目不变。添加边连接两个顶点时,顶点数不变,边会增加一条,孔数目的变化要视情况而定。如果这新加的边横穿一个孔,如连接FB,即把一个孔切成了
原创
发布博客 2021.03.17 ·
4975 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Voronoi图交点上的边的数目

Voronoi图交点上的边的数目疑问:A是新加入的一个点,经过运算之后,得到一个自己的区域,BC与CD是其中的两边。C是否可能没有第三条线与它相交?答案是不可能。下面证明这个结论。显然关于A,有这样的两点A’与A1′A'_1A1′​,这两个点与A相关于BC与CD的轴对称。显然点C是三角形AA’A1′A'_1A1′​的外心,所以A’A1′A'_1A1′​的中垂线,即分界线,经过点C.那有没有可能在点A加入之前,点C处被其它区域覆盖呢?不可能,因为这个与前提条件相矛盾。如下图:情况一:P
原创
发布博客 2021.03.16 ·
303 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

合并排序时间复杂度推导

合并排序时间复杂度推导算法演示算法演示1算法演示2算法复杂度Big O notation is a mathematical notation that describes the limiting behavior of a functionwhen the argument tends towards a particular value or infinity.算法复杂度推导显然f(1)=1f(1) = 1f(1)=1对于f(n),它的复杂度相当于合并两个数量为n/2的.
原创
发布博客 2021.03.10 ·
2902 阅读 ·
3 点赞 ·
0 评论 ·
12 收藏

动能定理公式推导

动能定理公式推导动能定理(Kinetic Energy Theorem)的由来与人们所定义的概念有关。以其说其为定量,不如说是一个人为定义的表达式。力F沿S做的功能可以写成W=∫F dSW = \int F\, dSW=∫FdS那W随时间的变化函数自然可以写成:W(t)=∫F(t) dS(t)W(t) = \int F(t)\, dS(t)W(t)=∫F(t)dS(t)下面的把这个表示式再进行演化:W(t)=∫F(t)⋅S′(t) dt=∫F(t)⋅V(t) dtW(t) = \.
原创
发布博客 2021.02.26 ·
7000 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

太阳投影轨迹规律

太阳投影轨迹规律问题描述思考这样一个问题:在冬天晴朗的日子里,华南一个空旷的地面上,有一根垂直于地面的旗杆。旗杆自然会在阳光照射下投下影子。那现在问:在一天当中,这个影子如何随着太阳运动而变化?分析与解决很多人第一反应是一条直线,从西边扫到东边的一条直线。因为太阳东升西落,对应旗杆的影子就是从西移到东了。有部分可能会意识到不是简单的一条直线,因为细心的人会发现,冬天的太阳总是在偏南倾斜的,即使在正午,也是偏南的。还细心一点的会发现冬天太阳并不是严格的东升西落,而是从东南方向升起,从西南.
原创
发布博客 2021.02.25 ·
3729 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏
加载更多