- 博客(286)
- 收藏
- 关注
原创 Vim技能修炼教程(17) - 编译自己的Vim
编译自己的Vim前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项。其中最重要的就是脚本语言的支持,很多发行版本是不全的。为了支持我们所需要的功能,我们需要编译自己的Vim.
2017-07-24 11:40:31 882
原创 Vim技能修炼教程(15) - 时间和日期相关函数
Vimscript武器库前面我们走马观花地将Vimscript的大致语法过了一遍。下面我们开始深入看一下Vimscript都给我们准备了哪些武器。如果只用这些武器就够了,那么就太好了,只用Vimscript会导致最佳的兼容性。否则不管是用:python还是使用扩展库,都给可移植性带来麻烦。 随着Vim的广泛移植,Vimscript带来的可移植性还是很可观的。这是一门跨相当多平台可用的语言。
2017-07-18 17:11:53 804
原创 Vim技能修炼教程(14) - 写个ex命令吧
写个ex命令吧我们第二节开始就写了语法高亮的插件。这一节,我们学习第二种插件的写法,就是写个我们自己的ex命令。
2017-07-17 18:45:13 558
原创 Vim技能修炼教程(13) - 变量
VimScript变量上节我们介绍了Python和Ruby来编写Vim插件的方式。 不过,Python和Ruby并不是所有的Vim都支持的功能,如果以最小依赖的原则来说,还是原汁原味的Vimscripts是放置四海Vim而皆灵的方式。当代码规模变大时,Python,Ruby,Perl这些语言的引入将带来较高的效率。但是Vimscripts仍然是最基本的Vim语言,值得我们首先学好
2017-07-14 17:40:30 763
原创 Vim技能修炼教程(12) - Vim的脚本语言支持
vim支持的扩展语言很多,比如python, python3, ruby, lua,tcl等常见脚本语言都有很好的支持。既可以支持脚本内嵌在.vimrc中,也可以执行python等脚本语言的文件。
2017-07-14 12:38:41 1609
原创 Vim技能修炼教程(11) - 代码折叠
上一讲我们是程序员篇的第一讲,关于代码跳转。代码跳转是一个付出很少收获很大的功能。这一节我们开始一个收获很多,但是付出也相对多一点功能:代码折叠。
2017-07-13 12:35:57 629
原创 Vim技能修炼教程(7) - 可视模式
可视模式可视模式是与正常模式、插入模式一起并列的模式。它的作用就像图形化编辑器下用鼠标来选择一个块。在vim下,使用正常模式和ex命令,连搜带跳行的,未必就比用鼠标慢。
2017-07-10 19:52:40 490
原创 Vim技能修炼教程(4) - 基本功
基本功前面我们学会了插件管理器和如何实现语法高亮,相信大家已经从中体会到了vim插件的强大功能。现在,是时候回来补一补基本功了。
2017-07-05 12:07:25 561
原创 Vim技能修炼教程(2) - 语法高亮速成
语法高亮速成我们继续在人间修行Vim技能之旅。上一次我们学习了如何通过vundle安装插件,这次我们迅速向写插件的方向挺进。我们先学习一个最简单的语法高亮插件的写法。 语法高亮基本上是由三部分组成: * 配色方案 * 正则表达式 * 配色方案和正则表达式的规则对应关系
2017-06-27 14:20:53 1074
原创 我也说说Emacs吧(6) - Lisp速成
前面我们学习了基本操作,也走马观花地看了不少emacs lisp的代码。这一章我们做一个lisp的速成讲座。
2017-06-12 21:11:58 3855
原创 我也说说Emacs吧(2) - Emacs其实就是函数的组合
Vim和Sublime Text等编辑器,本质上是一个编辑器。 而emacs本质上是一堆函数的组合
2017-05-27 17:06:23 1316
原创 我也说说Emacs吧(1) - Emacs和Vi我们都学
好友幻神的《Emacs之魂》正在火热连载中,群里人起哄要给他捧捧场。 作为一个学习Emacs屡败屡战的用户,这个场还是值得捧一下的。至少我是买了HHKB键盘的。。。
2017-05-22 18:45:47 1008
原创 Android数据库代码优化(2) - 从SQLite说起
从SQLite说起如果没有SQLite的基础,我们只是从Android封装的SQLite API去学习的话,难免思路会受到限制。所以,我们还是需要老老实实从头开始学习SQLite. 当我们有一身的SQLite武功之后,再去看Android的封装,就能更清楚如何发挥SQLite的特长。
2017-04-26 17:19:58 2255
原创 Android数据库代码优化(1) - 从Google的数据库guide说起
从Google的数据库guide说起, 这其中有哪些需要注意的事情?
2017-04-25 14:12:37 701
原创 提高看log效率的小工具
文本型的log,比如Android的log,都是普通文本。在大家连续奋战的时候,难免看起来容易眼花。 这时候如何提高效率?我们给它搞个高亮好不好?这就是我们要介绍的看log工具:TextAnalysisTool.net
2017-04-02 18:04:30 10744 1
原创 用代码画UML类图快餐教程
之前我们讨论了graphviz的dot图,mermaid画流程图和时序图,plantuml画时序图。plantuml除了可以画时序图之外,还可以画类图。就跟写代码一样
2017-03-14 14:45:52 5721
原创 ANTLR快餐教程(1) - 有好多现成例子啊
前面介绍LLVM的第一篇中,我们介绍过,编译器的后端基本都可以通过LLVM来解决。 那么,前端我们如何处理呢?我们选择ANTLR。ANTLR是用Java写的词法和语法分析工具。它比lex/flex/yacc/bison是更现代的工具。 最方便的一点是,ANTLR已经替我们写好了常用语言的语法规则,我们已经拥有了常见语言的分析器,可以在其基础上直接做我们想做的事情。
2017-03-08 12:05:26 13214 5
原创 Android native应用开发简明教程 (2) - 本地应用的原理
本地App,本质上是一个Java App调用了一个JNI的库,而应用的逻辑通过native代码来实现。
2017-03-01 11:57:47 1170
原创 Io语言快餐(1) - 一切皆是对象,消息和槽的语言
为什么要了解Io这样的语言?如果不是《七周七语言》这样的书来介绍它,估计很少有人关注到它吧。其实目的很简单,作为js代码和js虚拟机的开发人员,学习原型化的语言对于更深入地理解javascript是有难以估量的帮助的。毕竟javascript和Io同源,在原型化思想上都供鉴了Self语言的思想。
2017-02-18 15:10:28 1395
原创 代表颜色的英文单词
在graphviz及派生工具如plantuml中,使用颜色英文比直接用色值还是更有趣一些。下面是我们扩充词汇量的时候啦!我们看看这些色的名字,中文和对应的颜色。
2017-01-05 14:42:35 6079
原创 ART世界探险(20) - Android N上的编译流程
就在我们分析Android M版本的ART还只走出了一小段路的时候,Android N的新ART就问世了。 Android N上的ART还是有不小的改进的。不过做为一个关注细节的系列文章,我们还是从Compile的过程说起。
2017-01-04 22:08:29 2127
原创 常见Linux发行版的包管理工具速成指南
常见Linux发行版的包管理工具速成指南各种Linux发行包都为我们提供了包的管理工具。 我们学会用Docker和虚拟机大法之后,不妨体会一下不同的版本工具带来的不同的体验。从工具上,影响最大的两个系列,就是debian的dpkg包和Red Hat的rpm包两大系列。 dpkg系的前端工具是apt,用于Debian系统及其衍生系统如Ubuntu系统,以及Ubuntu的衍生系统如LinuxMint
2016-12-15 13:12:46 3613
原创 Ubuntu 12.04上享用新版本Linux的功能
Ubuntu 12.04上享用新版本Linux的功能我司有一批Ubuntu 12.04的服务器暂时没有升级计划,但是像编译Android N代码等需求要求Linux的版本更新。 如何在不升级Ubuntu 12.04的情况下实现升级Linux版本的需求呢?我们有两大利器可以使用:docker和虚拟机。Docker大法Docker安装升级内核Docker需要64位的Linux支持,幸好,这条是满足的。
2016-12-13 21:10:43 845
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人