网页布局(layout)是 CSS 的一个重点应用。
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
Margin-mode 主要用来给不同的 major mode 的 buffer 所在的 window 设置左右 margin。众所周知,window margins 在当前窗口的 buffer 切换时就会失效,margin-mode 可以任何场景下都保持 margin。
再次来到西安,故地重游,让我有一种兴奋感。这种感觉源自23年我在西安自在的度过了大半年的时间:周末除了和同事去爬华山、秦岭,大多数的时间都是在茑屋书店和咖啡店度过的,没有干扰的学习和研究自己感兴趣的内容;那时晚上下班也经常去益田假日里的乐刻健身,练完就在商场里美美犒劳自己一顿;有喜欢的电影,周末随时去看。
我为什么要搭建自己的 docker 镜像仓库?
这篇博客记录了从搭建 docker 仓库这个想法开始的,若干折腾的过程和解决的问题。我不想写一篇完美的,循规蹈矩的文章,就是以小标题组织的各类折腾的记录。
在 emacs 中,对于需要频繁使用的命令,我们倾向于将其绑定到快捷键,即按下几个组合按键便完成了一个复杂功能的调用。可以将任意的命令绑定到快捷键是 emacs 被认为灵活、高效的重要原因之一。emacs 中的快捷键的特点是需要使用前缀键,即 C-c
、C-x
等,但这比起 vi 这种模态编辑中使用单字母按键,又显的不那么的“快捷”了。习惯了 vi 的模态切换方式的用户可能会在 emacs 中使用诸如 evil-mode
、meow
等方案来延续这种使用习惯。我本人不用“模态编辑”,但又觉得单字母按键确实高效,于是便思考一种即能够使用上单字母快捷键,但又无需主动切换模态的方案,于是有了 auto-modal 这个 package。
本文转载自 《心流》推荐序:胜利者一无所获, 作者阳志平。
今天收到出版社编辑告知,我写推荐序的《心流:最优体验心理学》一书即将上市。这是一本好书,曾被我收录在《开智正典》中,断货几年后,中信将其重新出版。它是心流理论之父、积极心理学奠基人契克森米哈赖开山之作,畅销全球28年,被译成30种语言,影响全球千万人的开创性心理理论。我所作序言借海明威的故事,串起心流、刻意练习、自我决定论等,向那些活得骄傲的人致敬。我的推荐语如下:
先说结论:人一天的意志力是有限的。以晚上的睡眠为一个时间节点,早晨拥有全部的意志力,因此适合用来做重要的思考和决定。而到了晚上,经过一天的劳累后,身体疲惫的同时也伴随着意志力的所剩无几。所以晚上的时间更适合用来做消耗意志力小的事情,比如阅读和娱乐等。
年初的时候,我搭建过一个个人知识库发布流程 md-wiki,大体上是通过一些 elisp 代码将不同 主题的页面通过链接和层级关系串联起来。当时决定做这件事情时,特意发了条pyq以表达兴奋的心情。然而大半年过去,gknows(我的个人知识库的名字) 已经很久没有更新了。
没记错的话,上一次坐绿皮火车是六七年前了。
随着列车进站,扑面而来是绿皮火车特有的气味:泡面味。走进车厢除了泡面的味道,还有烟味,“呕吐物”的味道。我确信这就是绿皮火车,它没有变。刚进去的时候,车厢的入口和座位旁已经站了许多人,有的蹲着,有的坐着,有人刷着手机,有人打着瞌睡,聊天的声音不绝于耳。寻着人少的地方走去,我在配电室和乘务员室之间找到了一个空位,把包放在了配电室门口。
Rich-text is an emacs package to render rich text with overlays. Even after the file buffer is killed or emacs is closed, rich text can still be restored when it is opened again.
引用自《掌控习惯》(Atomic Habits)一书,附录"从四大定律中吸取的教训"。
在本节中,我罗列出了一些已然由四部模型证实的经验教训(以及一些常识)。这样做的目的在于进一步说明,这个模型在描述人类行为时帮助极大,且用途广泛。一旦你理解了这个模型,你会在任何地方看到它的例证。
晚上睡觉前我会固定地做下面一系列的事情:检查每日待办,写总结,记录习惯。这些事情都是在emacs中进行,存放在不同的文件中。我发现每次当我做其中一件时,都要反应一下需要打开什么文件,这就很烦。本着不让大脑在重复的事情上增加思考的原则,想到了实现“将一系列固定工作流自动化执行”的想法,这便有了autoflow.el
。
摸着石头过河的时候,卷起裤腿,探着脚步,小心翼翼,慢慢的发现脚下的石路明朗起来,有时需要轻轻挪动小步,有时得跨一大步,但好在都在两腿所及范围内。
在下河之前的日子里,我在光秃秃的河岸边筑起小房子,自娱自乐,自己自足,有开心的时候,也有不悦的时候。开心的时候就在大雨里纵情奔跑,不悦的时候即使晴空万里也只想在房子里静静发呆,单调却也不算无趣。
当我们在emacs中进行一项日常工作,一个灵感跑到脑子里。这时,我们通常的做法是:打开自己用来记录灵感的文件,记录想法,切回正在编辑文件,继续当前工作... 尽管在emacs中我们有许多的方法快速打开那个“灵感文件”,比如设置bookmark等,但这个过程仍然容易打断我们的工作流。每一次的buffer切换,光标移动都意味着我们需要为这次临时的记录,多一次选择,多付出一些精力。
偶然看到了一个命令的文档:
(suppress-keymap MAP &optional NODIGITS)
Make MAP override all normally self-inserting keys to be undefined.
Normally, as an exception, digits and minus-sign are set to make prefix args,
but optional second arg NODIGITS non-nil treats them like other chars.
指针和动态内存管理是C语言学习中的重点和难点,本篇主要总结自己对指针的理解,深入浅出,言简意赅。
MoinMoin 是一个基于Python环境的wiki引擎程序。本篇主要简单记录部署流程和遇到的坑。
以前写代码总有一种担忧:担心逻辑不够规范、组织结构不够规范、命名不够规范… 这种对规范的洁癖,浪费了我许多不必要的精力。比如链表的数据结构,我看过好几种不同的写法,便会纠结究竟哪一种更好,哪一种更合理?
我读过的书虽然不多,但与阅读相处的经验还是挺丰富的。从小就想当个作家,借个这个理由,小学的时候倒是看过一些书。虽然现在,在记忆中只留下些故事的情节片段,但至少让我体验到了阅读的一些滋味:感动的,有趣的,揪心的,平静的感觉。稍微大了些,课业重了,能够分散的精力不多。虽然自己的时间是有的,但却很难静下心来看书。
Geekinney 说: "文件管理"是每个操作系统最基本的功能。当我们使用计算机时,不可避免的要和文件打交道,比如:文件的创建、重命名、拷贝、移动、删除、搜索… 通常,我们通过鼠标来完成这些操作。但你有没有想过,这种鼠标点击和拖动的操作实际是非常低效的,我们在鼠标上浪费了大量的时间!
Ewoc 是 Emacs's Widget for Object Collections的简写,它可以根据lisp对象的结构绘制和更新buffer的文本,就像MVC设计模式中的视图层。其中,生成的buffer的文本分为三个部分:特定的头部文本,lisp对象代表的数据元素的文本,特定的底部文本。一个ewoc对象的信息包含在以下内容中:
OrgMode内置的创建表格的函数是 org-table-create
, 传入"列数x行数"参数即可生成特定行数、列数的表格。这种交互函数在编写org文档时很实用,但在代码中却显得鸡肋。因为在代码中,我们通常希望表格和数据可以一起生成,而不是手动添加数据。
想要培养一些好的习惯,想要不那么费力的变得更自律。
读了一些关于时间管理和习惯培养的书籍和文章,我意识到“仪式感”和“记录反思”的重要性。事实上,以自己喜欢的方式做记录是件很开心的事情,我已经连续80天写晨间日记和晚间总结。现在, 写日志已经变成了习惯。但我希望培养更多好的习惯,用我自己喜欢的方式(在emacs中),所以有了gk-habit这个demo。
将一个文件中的相似块分割成若干个文件。比如下面这个例子:
众所周知,emacs以学习曲线陡峭著称,所以在开始介绍workflow前,得做些准备工作。这篇文章主要介绍emacs的安装、基础概念、基础配置和使用emacs的基础知识。