
Lisp
grey_csdn
这个作者很懒,什么都没留下…
-
原创 511_spacemacs跳转到任意2字符的位置
全部学习汇总: https://github.com/GreyZhang/editors_skills 之前,在spacemacs的配置中找到了一个非常好用的功能:跳转到屏幕上的任意字符。具体的效果如下: 这是我在配置文件中尝试跳转到字符a,但是,这个功能有时候会有一个问题,也就是这里遇到的问题:候选项太多,目标选择也有点麻烦。其实我自己本来的意图是想跳转到294行的lkd的位置。 后来,我在使用陈斌的配置的时候发现他里面有一...2021-02-08 23:24:1125
0
-
原创 458_emacs projectile中使用etags
全部学习汇总: https://github.com/GreyZhang/J1939_basic 在J1939的协议栈中存在一个队列的收发机制,其中接收队列的实现之前在做ISR的部分代码分析的时候已经看过接口上的交互。对于这个队列实现,其实应该有一个具体的实现机制。 关于队列的机制,在学习数据结构的时候接触过队列的实现,这个基本上是基于链表来实现的。但是,链表的实现是需要基于内存的动态分配来实现的。在嵌入式系统中,尤其是涉及到高实时性和可靠性相关的系...2020-11-20 20:01:1854
0
-
原创 424_emacs lisp中list以及vector的map操作
全部学习汇总: https://github.com/GreyZhang/g_lisp 学习小结一下map功能,其实我觉得这是一种算是更加简洁的循环。但是,与循环方式相比这明显是一种不同的处理思想。 以下是我的一部分测试: 接下来,针对每个测试做一下解释。第1行,把vector中的每一个元素增加1,其中1+是emacs lisp中的一个函数; 第4行,这个操作是失败的,这里我又犯了一个错误。这里,我应该使用的是一个lis...2020-10-14 07:38:1439
0
-
原创 421_emacs lisp xah-find插件使用初步
全部的学习汇总: https://github.com/GreyZhang 今天简单学习一下xah-find这个插件。这个插件主要的设计目标是用来替代find、grep或者sed等功能。后面这些命令虽然是非常常规的命令,但是,在BSD、Linux以及Windows上可能会存在很多兼容性问题。而这个插件,则解决了上述问题。 插件的链接主页:https://github.com/xahlee/xah-find 可以手动安装,也可以通过...2020-10-11 09:10:32115
0
-
原创 420_emas lisp lisp小结
全部学习汇总: https://github.com/GreyZhang/g_lisp 总觉得一个list的用法,让我看到了太多lisp的特色。我学习主要还是服务于我的emacs hack,今天的小结针对emacs lisp。 先做一部分测试,然后逐个进行分析:第1行,创建列表并且赋值给变量;第4行,创建列表,且不想元素被求值;第7行,利用变量创建列表;第10行,这个类似前面刚刚小结过的vector的创建,创建指定大小的list并...2020-10-10 20:37:2450
0
-
原创 419_emacs lisp vector小结
全部学习汇总: https://github.com/GreyZhang/g_lisp 再次小结一下emacs lisp中的vector基础,这次参考的教程还是李杀的。这里,简单写一下自己学习测试时候的笔记。 先做一部分测试,后面逐个分析: 第1行,创建vector且为每个元素指定初始值; 第3行,创建vector,且给定每个元素的值; 第7行,创建vector,并且利用变量给元素初始值...2020-10-09 21:05:4443
0
-
原创 418_emacs lisp“布尔量”判断
全部的学习汇总: https://github.com/GreyZhang/g_lisp 标题中的布尔量加了引号,为什么呢?因为,emacs lisp中其实是没有布尔量这个类型的。感觉lisp语言学习的时候一直没有找到一个合适的路径,动不动就半途而废。后来,干脆不对此抱什么愿望了,能够零零散散学点东西也可以。 今天再次复习下布尔量,我也不知道是否是复习,都已经忘记了是否学习过了。 Emacs lisp中没有布尔量,只需要记住nil...2020-10-08 09:50:1685
1
-
原创 417_让emacs默认支持Arduino工程文件解析为C++代码
全部学习汇总: https://github.com/GreyZhang/g_lisp 最近一直在玩Arduino,但是,我习惯使用emacs编辑器。虽然emacs使用也算是有一阵子了,但是一直没啥大的进展或者进步。 编辑Arduino的代码,我用过VS Code,Source Insight还有emacs。其中,VS Code默认直接支持将ino文件解析为C++代码,Source Insight则可以增加文件类型识别,通过通配符实现语言文件的识别。...2020-10-07 10:47:1153
0
-
原创 416_emacs dired-mode实现从一个目录到另一个目录的快捷拷贝
全部学习汇总: https://github.com/GreyZhang/g_lisp 标题描述内容的英文直接翻译应该叫做“目标分割窗口”。我不知道如何用中文来一个合适的描述,给了一个冗长的标题。 其实,基于常用的Windows这样的操作系统的习惯,这个功能的使用场景还是很容易描述的。我们可以打开两个文件夹,从一个文件夹往另一个文件夹拖拽文件实现拷贝。这里,之所以说拖拽没有提C-c C-v这样的组合键,其实是想体现一步到位的感觉。但是,从实际的操作效...2020-10-06 10:38:2588
0
-
原创 415_把emacs lisp编译成字节码
全部的学习汇总: https://github.com/GreyZhang/g_lisp 之前最初接触lisp的时候其实是用过这个功能的,把一个文件编译成字节码,说是能够加快程序的运行速度。虽然,我写的全都是1+1类似的东西这个速度没能够让我体验出来。用的文件其实也是少的,基本上byte-compile-file就可以搞定。 今天接触了一个更加便捷的操作方式,在dired-mode下,直接在相应的文件上按B即可实现编译。 如果更便...2020-10-05 07:12:3155
0
-
原创 414_emacs dired-mode多文件标记
全部学习汇总: https://github.com/GreyZhang/g_lisp 以前使用dired-mode比较多的操作是删除多个文件,可以直接在不同文件上按d,然后x统一执行。其他的也就是操作或者重命名,简单的操作其实还能够满足我的需求。 今天接触了一个多文件标记的方法,可以在文件上按m标记,u取消。效果如下: 标记成功之后,左边增加了小星星。 之后,可以进行批量的复制或者删除。效果如下:...2020-10-04 11:06:1952
0
-
原创 413_在emacs中查看并临时修改windows环境变量
全部的学习汇总: https://github.com/GreyZhang/g_lisp 看起来,这是一个非常有用的技巧。如果,环境变量的设置可以脱离windows操作系统本身,好处还是很多的。第一个是我不再需要管理员的权限便可以实现我自己的一些设置的需求;第二个则是可以让我的windows内置的命令少一些跟bash之类命令的冲突。 首先,看看如何在emacs中查看环境变量。查看的方式是通过getenv的函数。示例如下: 这里...2020-10-03 09:49:4764
0
-
原创 412_在windows系统上指定emacs的启动文件支持多配置
全部的学习汇总: https://github.com/GreyZhang/g_lisp 以前就一直想,如何实现一个emacs程序启动多个窗口还支持多个配置文件。如果能够支持这样的功能,可以在多个配置之间灵活切换。同时,一边使用自己的稳定配置,一边测试新的配置也是有可能的。 今天在李杀的教程中看到了一个方法,测试OK。 首先,我自己的emacs默认的配置最近一直是spacemacs。接下来,尝试增加一个空的emacs配置用以启动。...2020-10-02 10:09:1543
0
-
原创 411_spacemacs改变行间距效果
全部的学习汇总: https://github.com/GreyZhang/g_lisp 使用spacemacs有一阵子了,好几次感觉行间距太小,让我看着文本文件的时候有种文字扎堆的感觉,眼睛很累。 今天,对着emacs的手册尝试修改line-spacing的默认值,发现一直没有效果。看起来,这部分行为已经在spacemacs庞大的配置中被修改掉了。 于是,请教了一个叫做“搜索引擎”的大神,找到了一个解决的方案。...2020-09-30 20:23:2671
0
-
原创 409_spacemacs c-mode中去掉单引号输入自带的斜线
全部的学习汇总: https://github.com/GreyZhang/g_lisp 使用spacemacs的配置,在C代码编写的时候,单引号总是自动带一个转义字符线。具体的状态如下: 我做纯控制,其实其实这样的东西用得少,以前也就直接忍了。最近玩Arduino,一直跟很多字符、字符串打交道,这个确实是让我恼火了一阵子。 网络上查看了一下,其实这个是有一个问题跟踪的:https://github.com/syl20bnr/...2020-09-25 15:57:2546
0
-
原创 353_在spacemacs中使用swoop进行文本文件内容搜索
使用emacs插件的时候有时候我对名称的由来感兴趣,但是我实在是明弄明白这个插件为什么叫做Swoop。我查了一下这个单词的含义,能够跟插件本身功能相联系的解释应该是掉落。难道,是因为这个显示形式有点像信息掉落到窗口的下方? 转回头来,看看这个实际的功能。Swoop完成的是一个文本的搜索,如果习惯了windows中其他的编辑器的操作,这个功能可能很容易联想到Ctrl-F组合键。不过,从使用体验上看,我觉得这个Swoop的使用体验好过C-f组合键。因为除了搜索之外,还能够提...2020-07-10 19:57:06122
0
-
原创 352_在spacemacs中使用find-file-in-project代替projectile进行工程文件搜索
最早看到find-file-in-project插件的功能演示,我觉得应该是在陈斌推广自己收费课程的演示视频中。视频里面演示的时候,他一直强调的是自由软件的价值,当时并没有提到这个插件。我看到这个效果的时候,也简单的以为是projectile。必经,在linux操作系统下projectile甚至helm的响应速度看上去都还不错。不过,我确实是也在一个帖子中看过他提到的按照文件夹目录来搜索工程的说法。 前一阵子看论坛,看到了他推荐的这个插件,用了一下终于知道了原来之前他演...2020-07-03 20:31:23205
0
-
原创 351_org-mode中TODO状态增加以及顺序控制
应该说,肯定还有更好的标题可以描述这个问题。不过,作为一个初学者总觉得直接的文字翻译应该是表达不出这种功能的理解。 其实,说起来简单。Org-mode中如果用了TODO,肯定知道一条标记的信息有两个状态:TODO和DONE。通过C-c C-t的组合键可以进行状态的切换。而今天想要描述的功能是,增加相应的状态信息并且定制不同状态之间的跳转顺序。 最新的emacs都是集成了org的功能的,因此相应的功能实现其实已经设计在里面了。对于用户来说,只是一个简单...2020-06-30 20:50:05287
0
-
原创 349_emacs中快速选中一个函数以及在函数前后移动
这个功能的发现,说起来其实偶然。我不小心按错了按键,选中了一个函数。但是,重复了好几次没有找出我究竟是如何按的。好在还有一个*Message* buffer,顺利找到了相应的功能。 选中一个函数,使用的功能叫做c-mark-function。具体的描述如下: 功能激活的效果如下: 在此之前,选中一个函数我采用的更多的是expand-region。功能设计上,算是更加细致一点。不过,从函数级别的操作上,做不到这么快速的一步到...2020-06-13 16:04:12186
0
-
原创 348_emacs page break lines使用
今天看一个简单的功能,page-break-lines。我所说的简单,其实是形式上的简单,至于这个功能究竟是如何运行起来的我还是有点不清楚。但是不管怎么样,这个功能现在能够在我的手中发挥作用了。 我看到了一段spacemacs中的配置,具体如下: 这是core-spacemacs.el中的一部分配置,我说的配置就是上面阴影选中的部分。看上去,这是一个模块。不过,在这一堆的core-开头的模块中显得有点扎眼。查看了一下这个package的说明介绍:...2020-06-11 20:30:3197
0
-
原创 347_spacemacs中中文编码优化配置分析
漫游式学习spacemacs的配置,看到了一句配置如下: 这段配置在core-spacemacs.el中,比较好的是这段配置还增加了一个很有用的注释信息。如果没有之前的经验体验积累的话,或许这段话我都翻译不好,英语的功底的确是需要加强。不过,这让我联想到了之前我遇到的一个问题。正好也是在windows系统下的中文编码问题。 之前我自己的配置,在进行中文编码文件保存的时候总是出现一个这样的提示。每次的信息全都一样,都是Select cod...2020-06-11 20:29:45160
0
-
原创 346_彻底禁用掉spacemacs的主题
emacs应用了一段时间之后,各种主题看多了有一种疲劳感,有那么几次想来一个“返璞归真”,用一下emacs自带的那个有点过于简单的默认主题。在我自己抄袭积攒的配置中,想做到这一点是非常容易的。毕竟,几乎每一行的配置代码在抄的时候多多少少还是有一点点理解过。 但是,当这个简单的配置要求转移到spacemacs中的时候,我觉得我有点茫然了。我没有找到如何实现这个简单的配置修改!为此,我还曾经在论坛中发帖子求助,还真找到过一个解决的方案。 解决的方案是增加上面选中的两行配置代码,其...2020-06-11 20:27:47120
0
-
原创 345_分析spacemacs如何隐藏掉emacs默认的GUI操作组件
Spacemacs配置从设计意图上来看,是为了迎合vim用户,更确切一点是专注于键盘操作的vim用户的。通常,这样的人认为,操作简洁有效即可,如果是专用于鼠标的GUI占用了宝贵的屏幕展示空间的话,最好也得去掉。 最初学习emacs的时候,对照着教程,我也是把这部分全都去掉了的。切换到了spacemacs的时候,其实倒没有过多关注spacemacs中的相应实现。今天看了下相关的配置文件,正好看到了这部分。 上面这部分配置在core-spacemacs.el中,从函数名称来看的话...2020-06-11 20:26:53130
0
-
原创 344_spacemacs中的调试功能支持
Spacemacs中内置了一个专门用于调试的模块,可能是我们作为使用者有时候是注意不到的。这个功能,应该是在开发整个sapcemacs初期的时候设计的吧? 在正常的用户使用过程中,这个模块的功能其实是不开启的。这部分,从spacemacs的配置文件中能够看得出。 上面的配置是core-spacemacs.el中的,之前这部分的配置我还是做过简单的分析学习的。上面图中,我专门画出来了一个模块,就是这个模块中提供了spacemacs的基础调试功能。 继续往下看这部分...2020-06-11 20:25:43120
0
-
原创 340_emacs实现更好的中文编辑支持
我使用spacemacs,的确是一个很好的emacs配置。不过,用的时间久了,感觉想要充分认识这个配置有一定的难度。这个配置太庞大了,庞大到了让我很多时候学习的时候都觉得不知道如何入手。当然,对于这个配置的学习我还是会继续,毕竟它的确是优秀的。 我希望自己能够有一个足够简单简洁的配置,这样或许能够让我的工具资源消耗更少而且反应更加迅速。 从头开始,已经不是很难。毕竟,大量的配置可以选择,我们已经站在了巨人的肩上。 我习惯用emacs管理我的各种文件,记录简单的文本not...2020-05-16 14:38:54108
0
-
原创 339_emacs dired mode实现文件创建后内容自动刷新
用了几年的emacs了,越来越觉得入坑了。spacemacs其实做的很不错,不过久了之后也确实是感觉到整个配置庞大到了有点臃肿。不知道我自己是否能够找到一组更适合我自己的配置,还是慢慢去尝试积累下。目前积累的部分配置在这里: https://github.com/GreyZhang/speed_emacs新的配置,只要对我来说没有啥实质性作用的插件我全都没有安装。暂时的插件不是很多,配置也不是很实用。其实,还是在一个摸索的阶段。emacs相比其他的编辑器,一个让我比较依赖的功能就是dired-m2020-05-16 14:19:21123
0
-
原创 326_common lisp for循环
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,学了这么久了,一直想找一个类似其他编程语言中的循环结构。今天终于接触到了,可以使用for循环。 先看一个例子: 这个就是我们熟悉的for循环,采用的就是数值的判断。跟我们在C语言中用到的方式很类似。不过...2020-03-28 21:03:42127
0
-
原创 325_common lisp带有填充指针功能的array
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次来看看带有填充指针功能的array。 上面我们定义了一个维度为5的array,但是从结果看确实一个空的array。我们查看一下对象具体信息如下: 其实,这个定义之后是分配好了相应空间的,只是现...2020-03-27 22:28:00118
0
-
原创 324_common lisp 可调整的array
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次来看一下维度可以调整的array。 首先定义了一个数组*a1*,是一个可调整的数组。其实,看到这里,我想到了Python中的list。 最初的*a1*是一个空的array,我们在定义*a2*的时候...2020-03-27 21:32:3289
0
-
原创 323_common lisp prog1 prog2使用
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次来看一下prog1以及prog2的使用。在此之前,我们已经用过progn,虽然是在emacs lisp中。在common lisp中,其使用方式其实也是一致的。下面是一个例子。 如果使用progn,返回的数...2020-03-24 22:28:16204
0
-
原创 322_common lisp 查询函数
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这次来看几个common lisp中的查询函数。 从上面的结果可以看出,查询成功的时候返回相应的查询数值。查询失败的时候,返回nil。 同样的功能,也可以用于列表的查询。 这个查询功能...2020-03-23 23:48:4494
0
-
原创 321_common lisp complement使用
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,今天看一下complement的使用。首先来看一个基础函数的使用,判断一个数是否是奇数。 上面的奇数判断全都OK,当然,我们的common lisp中其实也是有一个偶数判断函数的。 假设,有一个情况...2020-03-23 07:26:5793
0
-
原创 320_common lisp获取数组以及列表的长度或者维度
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次来看看一般的数组或者列表的长度或者维度的获取。首先,定义几个变量如下; 接下来,我们先尝试使用length函数。 我们可以成功获取到一个一维array或者list的元素数目或者说是他们的长度。...2020-03-22 16:59:10188
0
-
原创 319_common lisp row-major-aref使用
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次看一下row-major-aref函数的使用。首先,定义两个array如下: 接下来,我们可以看看row-major-aref函数的简单使用。 这个效果看起来跟直接用aref的效果差不多,而且...2020-03-22 16:34:07111
0
-
原创 318_common lisp中的array以及vector
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,今天来学习一下array以及vector两个数据类型。其中,array可以看做是基础,而vector是一种特殊的array。Vector的特殊点在于什么地方呢?vector的特殊点是要求array的维度必须为1。相关的异同点,...2020-03-22 11:15:22103
0
-
原创 317_lisp匿名函数
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次重新看一下函数中的匿名函数。之前最初学习lisp的时候,这个功能有些没看懂。但是,学习于我来说就是一个曲折回旋的过程。经过时间的磨砺之后,很多东西都会慢慢掌握。 首先看一个例子: 这是一个简单的函...2020-03-21 20:35:2599
0
-
原创 315_common lisp中some every notany notevery函数使用
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,这一次来看一组函数的使用,分别是some、every、notany、notevery。 定义以上变量,然后接下来首先得了解一部分基础函数的使用。 上面的一系列的函数,可以用来检测某个数据对象的类型。...2020-03-14 17:44:4596
0
-
原创 314_common lisp cond结构
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,接下来看看common lisp中的cond结构。在此之前,先看一段代码: 为了编辑更加顺手,我在代码编辑的时候没有使用lispbox的emacs而是使用了我日常用的emacs。之后再在lispbox中编译运行,...2020-03-14 16:31:5786
0
-
原创 313_common lisp的布尔量
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,今天来看一下common lisp的布尔量。 上面是关于布尔量的一部分描述,一般来说的话,采用一个值作为FALSE,其他的都是true。而false在common lisp中一般用nil来表示。按照这个思路,我们...2020-03-14 16:03:0584
0
-
原创 312_common lisp中的string与array
完整的emacs and lisp的学习集合整理如下:https://github.com/GreyZhang/g_lisp 继续emacs以及lisp的学习,今天来看一下string以及array的关系。先看一段文档描述: 从这一段描述,其实我们是可以知道在common lisp中,string其实就是array。接下来,做一部分测试尝试。 首先,定义一...2020-03-14 14:57:1578
0