Vim 下模拟 Emacs 键绑定

Vimer 需要 Emacs 键绑定?看上去很蛋疼的需求吧。其实不然,大部分的 Shell / Readline 默认绑定的是 Emacs 键位绑定(处于输入状态下,Emacs 的键位很好用)。Vim 的模式切换很牛逼,但是 Insert 模式下面,只有寥寥几个快捷键,我修改了配置文件,绑定需要的 Emcas 按键到 Vim 中来。

Github 中搜索关键字 Vim Emcas key bind,出来一些结果,不是很完美,我又慢慢调教了几个星期,放出我的 .vimrc。

more ...

使用 Vundle 管理 Vim 插件

早在这个月初,我就在 Vim 的邮件列表看到了一封关于 Vim 插件管理的 邮件。 才惊呼原来有这么强大的插件可以用来管理我那一坨插件, 今天细细阅读并查了一些资料,变开始配置自己的 Vim。

几种管理插件

Vim 的插件管理工具有蛮多,比如:

Vim-addon-manager 和 vimana 的对比,参见 Vim的插件管理工具

我最会选择了 Vundle,通过子目录管理插件,支持 Git 更新。 我其实不太喜欢子目录,觉得目录太多看着烦,但是考虑到在没有一个良好的 PKG 包描述文件的前提下,分子目录是一种简单有效的方法。

more ...

Fcitx 配置

Fcitx

Fcitx
Fcitx

Fcitx 简介:

小企鹅中文输入法(Free Chinese Input Toy for X,fcitx)
是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案。

本程序目前可以支持XIM和GTK2,GTK3,QT4的IM Module,可为支持

XIM 的 X 应用程序提供输入服务。 fcitx 的源码包内提供了区位和全/简/双拼,

并支持基于码表的输入法(自带五笔、二笔和仓颉等输入码表)。

您可以从 http://fcitx.googlecode.com 下载最新的发布版本。

当年刚开始使用 Linux 时候,使用的是 iBus,随后发现 Fcitx 这个输入法, 试用了一下就发现自己所需要的 双拼 / 模糊音 / 自定义输入 …

more ...

GAE 编程指南读书笔记

GAE 和我蛮有缘分,我初学 Python 的其中一个原因就是当时 GAE 刚推出, 当时想法是免费的应用要用起来,要不然就浪费了。随后也假模假样的看文档, 就是没有什么产出。

去年写了一个小应用 dbevent2gc , 期间发现 GAE 和普通程序开发的诸多不同,又遭遇 GAE 配额大幅缩水, 写出来的应用运转的不太稳定。在南京图书馆的架上看见这本《GAE 编程指南读书笔记》, 立即借回家仔细阅读。

  • GAE 的简介

    • 运行时环境 Python / Java
    • 数据存储 Datastore(实体 / 查询 / 索引 / 事务)
    • 服务(Memcache / GAccount / 任务队列 / 计划任务)
    • 工具(SDK / appcfg / dev_appserver / 控制台)
  • 入门(安装 / GAccount / webapp / app …
more ...

在Python中调试代码

撰写程序时候,需要在调试上面花费不少时间,好的调试工具可以让这个过程如虎添翼, 靠打 log 调试会是一种很痛苦的过程,我总结一下 Pylons 开发的调试技巧。

吐槽:团队开发时候,每个成员需要学习、总结和分享各自的开发技巧, 这样才能自我提升并提高开发效率。这属于团队文化建设,开发是一种艺术创造过程, 绝对不是简单的复制和粘帖。

在 Python 中调试

pdb

在代码中加入下列语句即可启用交互式调试。

import pdb;pdb.set_trace()

在 pdb 中,可以使用 h / l / b / n / s / c / j / a / p / ! / q 这些命令所代表的含义可以通过 h(elp) 打印出来。

参考链接:

ipdb

比 pdb 更好用的是 …

more ...

Chrome 独立代理设置

Chrome 在2011年4月份时候,加入了两个新的实验性扩展分支,分别是 Web Navigation Extension API 以及 Proxy Extension API, 通过他们,可以让 Chrome 使用自己独立的代理。

借助这个新功能,我们可以通过 SwitchySharp 使用某个 list 完成部分网址代理。

我的环境: Arch Linux / Chromiun(17.0.963.78) / Proxy SwitchySharp 1.9.38。

安装 Proxy SwitchySharp

由于 SwitchyPlus 停止维护, 因此这里我使用 Proxy SwitchySharp

Proxy SwitchySharp 介绍如下:

轻松快捷地管理和切换多个代理设置。基于 “Proxy …

more ...

影响力读书笔记

  • 本书研究 - 社会心理学 - 顺从心理学。
  • 日常生活中有大量心理捷径。
  • 在某个环境下机械地回应某一信息的倾向叫做自动化反应或“按一下就播放”式反应; 对所有相关信息进行彻底分析后做出反应的倾向,则叫做可控式反应。

Influence豆瓣链接

1. 互惠

  • 互惠是人类社会群体的一个独有特征。
  • 利用小礼物,使目标答应原来会拒绝的请求。
  • 互惠原理适用于强加的恩惠。
  • 互惠原理可触发不对等交换。
  • 违背互惠原理,接受而不试图回报他人善举的人,是不受群体欢迎的。(进化适应器)
  • 互惠式让步:面对接受的善意,我们感到有义务要偿还。
  • 拒绝-后撤策略:先提出较大的要求,遭到拒绝之后再提出真正的较小要求。

    • 责任感
    • 满意感
  • 如何防范:

    • 拒绝最初的善意 / 分清楚请求者是否有善意或别有所图
    • 明辩敌友:善意自然应当得到善意回报,可对销售策略却没有这个必要。

2. 承诺和一致

  • 人人都有一种言行一致,同时也显得言行一致的愿望。
  • 人类普遍人为言行一致是基本的人格特征。信仰、言语和行为前后不一的人, 会被堪称是脑筋混乱、表里不一,甚至精神有毛病。另一方面, 言行高度一致大多跟个性坚强、智力出众挂钩,它是逻辑性、稳定性和诚实感的核心 …
more ...

给MoinMoin写插件

1. 使用 MoinMoin

前些日子,我写了一篇使用MoinMoin作为个人KMS 大赞MoinMoin的各种好处。MoinMoin的其中一个好处是基于GPL的开源, 我们可以方便的给MoinMoin撰写自己的插件(当然也可以去官方的wiki上获取大量现成插件)。

我在使用MoinMoin过程中,有一个急迫需要的功能:

保存一篇网页时候,要将里面的图片保存到本地,而不是使用外链接方式保存, 因为由于各种不可预测的原因,原始图片数据很有可能丢失或者无法连接。

这个功能对于将Wiki产品转化为KMS应用非常需要,可惜MoinMoin官方并没有提供, 我也没在MoinMoin的开发者插件库中找到类似功能,就自己写了一个插件image2attach。

现在我分享一下如何写MoinMoin插件,技术大牛可以直接移步官方开发文档, 我这里只是写一些简单的内容,帮助像我一样的同学。

以下内容需要Python编程基础~

2. MoinMoin 系统结构

MoinMoin的UML图:

MoinMoin
MoinMoin

3. MoinMoin 常用对象

3.1. request

这个request和普通jsp/asp中request很类似(实际上这个request就是继承 werkzeug的Request)。

除了正常的web request功能 …

more ...

再读《重构》

Martin Fowler 的「重构-改善既有代码的设计」这本书,是我大学老师推荐给我的。 当时我在撰写代码过程中,发现当代码量到某个数量级时候(1000+行), 就会逐渐失去对代码的控制能力。 昆哥推荐了两本书「UML 和模式应用」和「重构」这本书。

Refactory
Refactory

这本书是2年前购买的,可惜以我当时的代码感知和撰写能力,看起来颇为吃力。 半途就看得云里雾里而中断了。最近我又重新拾起这本书, 将书中所写的境况与我这两年多来遇到的问题相互印证,才感受到这本经典的力量。

Martin 其人:

ThoughtWorks 的首席科学家,当今世界软件开发领域最具影响力的五位大师之一。 他在 UML 推广普及、领域建模、企业应用开发和敏捷方法等方面建树卓著,被称为软件开发的教父。

大学时候有段时间我对 Martin 的敏捷非常痴迷。现在对技术的选择没以前那么冲动了, 但是毫不妨碍我对 Martin 的敬仰之情。

1. 重构原则

1.1. 重构的定义

对软件内部结构的一种调整,目的是在不改变 …

more ...

暗时间读书笔记

pongba的大作《暗时间》,讲述效率、习惯、思维,还有一些数学史话和算法,推荐一看。

an-shi-jian
an-shi-jian

ps:我的读书笔记比较水,也许成为摘抄更合适。我习惯这种大纲式的笔记,方便我回想。这里有一篇很赞的评论,介绍了三头牛,其中有笑来老师和刘未鹏。

1. 效率、记忆和学习

人生的原动力,对卓越的追求。 在每个时间的沙粒留过的时候,抓住沙子,让自己生命更有质量。

效率 X 时间 = 质量。

  • 暗时间
    • 那些瓶颈较细的能够抓住每一粒时间之沙,虽然啥子总量一样,但相对却拥有更长的生命。
  • 投入时间和效率
    • 投入时间这个说法本身就是荒唐的,实际投入的是时间和效率的乘积。
    • 避免工作内容切换带来的上下文时间损耗
    • 通过锻炼缩短进入状态的能力
    • 能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最重要习惯。
  • 设计你自己的进度条
    • 设计你自己的进度条
    • 不要过早退出循环
      • 绝大多数情况下你并不孤单,你遇到的问题早就有人遇到过,你踩过的坑里尽是前人的脚印。
    • 兴趣遍地都是,专注和持之以恒才是真正稀缺的 …
more ...