• 我不太理解你问什么会吧启动项放到 .bashrc 里?不应该放到 /etc/init.d,initx 还有 .xinitrc 里面么?所有个人和 x 相关的都应该放到 .xinitrc 里面嘛

    你有没有尝试过在失效的时候,kill 掉输入法的进程重新启动?

  • #47 楼 @zw963 #48 楼 @doitian

    我觉得完美的字体是这样的:

    1. 英文等宽
    2. 中文等宽,且刚好等于英文的两倍
    3. 编程符号区别度大,比如 quote 和 单引号,0 和 o 之类的。
    4. 字体清晰易于阅读什么的应该就不用提了,这是一个能用的字体必须的。
    5. 不是点阵字体,显示器 dpi 在这呢

    怎么对中文和英文分别设置字体?那些符号在编程和平时文本下表现其实也应该区分开来才是,不知道怎么设置?

    要是一个字体的话,我用过一个网友自制的 YaheiMono 满足前两条,但是第三条不行。 org-mode 我就没强求完全对齐了,反正用的次数也不是很多。

  • #45 楼 @zw963 当然要改字体了,不然中文显示一塌糊涂,字体是和 frame 相关的。 其实我现在都没找到自己心宜的字体,都多少有些问题。

    你可以看看我的有关 frame 的配置文件。 https://github.com/ranmocy/emacs_config/blob/master/customizations/ui/set-x.el

    我当时为了让 Emacs 随系统自启动,同时支持 Terminal 和 X 两种样式的一致,特意将 menu-bar-mode 等移到 hook 中去了,不然貌似 Terminal 下会报错。

  • #42 楼 @zw963 好吧,其实是有洁癖的缘故。我手头上也没有 Linux 可以测试。不过我之前使用 Linux 的时候是将 emacs --daemon 放到 init.d 的启动项中去,然后在 X 下启动 emacsclient -c,不知道跟不同 tty 原理一样否,反正我当时用的挺好的。

  • #40 楼 @zw963 表示不能理解,不知道能不能重现。因为键盘输入首先被 Terminal 捕获,然后如果没有触发它的快捷键列表就传递给 Emacs,这个时候 Emacs 才能处理。除非 Emacs 在新建 frame 的时候又自己重定义了键位。你看下他俩里面都有啥呗? after-make-console-frame-hooks after-make-window-system-frame-hooks

  • #38 楼 @zw963 可是 define-key 是全局操作呀,不用每次新建 frame 都运行一下。

  • #36 楼 @zw963 键位映射是指什么?是针对 frame 操作的么? 这个 hook 东西多了,降低 frame 的开启速度(当然不怎么明显,但是增加冗余计算不环保)。

  • #9 楼 @zw963 gem 的冗杂产生于不经审核就上线公开,良莠不齐,但是有一个好处就是大家都可以尝试自己想写的东西,大量冲击下自然有优秀的 gem 脱颖而出,好东西自然用户多,开源的话测试员就多。初学者自然要跟主流走,学习好基本知识后再应用特殊环境和优化 gem 选择。

    #11 楼 @zw963 很多语言的编译结果的确是递归慢而且慢很多,这个主要是编译器的问题。其实递归这个操作本身就是复制参数的过程,代价不应该很大,但是有些编译器为了一些语言特性搞的这个过程沉重无比。以前写 Pascal 生怕自己递归太多,一不小心就崩了。

    #17 楼 @zhenjunluo 不容易写对其实是思维方式问题,还不习惯罢了。其实递归大多可以写成简单的数学等式的表达,过程式的多数就要使用流程图来表达。

  • #22 楼 @zw963 唉,Awesome 一旦拥有别无所求⋯⋯我当年用 Arch 的时候就是为了尝试 Awesome。如果 OSX 有办法自动 tiling windows 我就再也不会尝试 Linux 了⋯⋯ 现在只有还算可以的半自动替代方案。

    #24 楼 @doitian 搜索这种大众名字的可以加 Linux,X11 等辅助关键词

    #33 楼 @tudou 使用 server-daemon 记得要将 frame 相关的代码放到 after-make-frame-functions 的 hook 中去。很多命令都是对当前使用的 frame 操作的,而 init 代码只会在启动的时候执行,加到 hook 中去才能在新建 frame 的时候对新 frame 生效。 你可以参考我的配置 https://github.com/ranmocy/emacs_config/blob/master/customizations/ui/set-x.el

  • #7 楼 @zw963 其实做这个的原动力就是觉得 slim-lang 的页面实在太漂亮了,要是我用 Emacs 的时候也总这么赏心悦目多好,于是就严格按照那个配色写了一个主题。 结果发现理想于显示差距好大,又尝试调整了一下颜色,好了一点但还是觉得灰暗,不知道是不是什么渲染方法不同的问题。

    风格指南我都看过,写的非常不错,常见的问题都提到了。

  • #30 楼 @zw963 @hbin 最近在准备出国考试,好久没上来竟然会被提及好多次,而且竟然还有人表示喜欢我的 Emacs 配置文件这种从来没发生过的事情,我还以为茫茫互联网小生的配置文件从未引人注意(Github 上的项目也确实没人 Watch 或 Star),我都要感动的哭了⋯⋯

    最近看到了几个大神的配置文件,才感觉到层次的差距,准备考试结束后大规模重构配置文件。其实我一直在尝试把它做成框架(我的野心是不是有点大),把配置文件模块化,这样初学者可以很快而安全的尝试他人的配置,进阶的人修改起来也要清晰得多。只是我都酝酿尝试半年多了才这个样子。等 11 月份考完试就开工,争取明年过年前搞出来!

    其实深入 Emacs 后才发现其实 Emacs 终极用法就是像 @doitian 那样给自己写自己用的便利的函数,毕竟配置文件就是给个人用的,如果太通用就应该 push 到上游去才对。 而且 Emacs 由于 lisp 的特性,有非常方便的常数、函数、键位绑定等等的查找定位,所以理论上来说就是配置文件全写到一个文件中去问题也不大。反倒是都放到一个目录甚至一个文件中去,查找方法也更简单,速度也更快。记得有人评价 Elisp 说它 "Dirty and quick." 深以为然。

    • 在视图中默认总是渲染 partial, 例如:在 aaa 控制器的视图中,<%= render 'aaa' %>, 等价于 <%= render :partial => 'aaa/bbb' %>

    这里是 <%= render 'bbb' %>

    • 在 view 中还可以直接 <%= render @object %>, 等价于:<%= render :partial => objects/object", :locals => { :object => @object} %>

    locals 可以省略不写,像这个样子: <%= render 'objects/object', object: @object %>

  • SASS 和 Compass 指南 at 2012年07月23日

    SASS 的变量特性我没测试过。不过要是按照你所说的那样的话,SASS 就压根没有局部变量这一说了,括号根本没起到限定作用域的用处。也就是说都是全局变量。还真是不太好的样子。

  • 的确是黄金组合,已经用了很久了。方便的很。

  • 准大四。不过专业是机械设计。 说是机械专业,但是机械学得毫无成就,还是计算机技术相对来说更拿得出手ˊ_>ˋ 基础知识及其薄弱,就是做项目的时候看到不懂的时候在去看一下的程度。 目前 Rails 相关的 Web 开发知识都是自学的,苦逼啊。

  • #4 楼 @BreeStealth 抱歉我不会写 vim 的配置‥

  • #2 楼 @tudou 呃,那个不是主题的一部分…… 用这个来实现的,应该是 Emacs 自带的。

    (set-frame-parameter nil 'alpha '(100 90))
    
  • #3 楼 @FenRagwort 其实也就两个目录一行代码而已,~/.rvm/usr/local/rvm,在加上你的 ~/.profile 或是 ~/.bashrc 中的一行 [[ -s "/Users/ranmocy/.rvm/scripts/rvm" ]] && source "/Users/ranmocy/.rvm/scripts/rvm"。我一般都是直接删除的,没想到这也有命令 = = RVM 在 Mac OSX 下需要依赖 XCode 来编译。安装 XCode 也就跟其他普通 OSX 的程序没差,很简单的。

  • #50 楼 @zw963 我怀疑大大们都已经不想看这个帖子了,我给你大致解释一下为什么输出的源码不是对齐的吧。不知道楼主有没有尝试过 Rails 开发?或是真的写过 Ruby 么?

    首先要说的是,我们一直强调的代码整洁是指开发者直接面对的代码,就是你在 github 上看到的文件。 你在浏览器里查看的源代码是用自动化工具自动根据 erb 文件生成出来的 HTML 文件。 这个文件就是给浏览器看的,人看得爽不爽无关紧要,所以闭合可以算是个问题,代码对齐绝对不是问题。

    先说一下代码闭合的问题,就像 #12 楼 说得那样,这个在 HTML 的官方约定中也明确说明了标准的处理方式是什么。 如果一个浏览器不能正确处理,说明它不支持标准的 HTML 语言(比如严格依赖 XHTML 标准来处理 HTML 就是个愚蠢的决定),这是浏览器的问题,不是开发者的问题。 而且只有在 XHTML 中才有严格的闭合要求,Ruby China 在文件头声明的就是<!DOCTYPE html>。这一点问题都没有。

    然后我来说明一下为什么说渲染出来的 HTML 文件没有代码对齐不是 Ruby China 开发者的错。 要说明的是,这是一个很麻烦的工作。 Rails 在渲染 HTML 的时候,一个页面会嵌入其他的函数或是模版,他们都会生成他们功能所对应的 HTML。 而他们自己是不知道自己的父函数已经缩进了多少列,即使有办法获得也是相当麻烦,甚至是需要直接 Hack 的。 如果真的需要渲染出人类可以欣赏的 HTML,最好的办法就是在整个页面渲染完毕后,再利用另一套工具规整全文的 HTML。 这种优化在开发环境中可能还有些意义,但是在生产环境中是全然没有任何意义,因为人不会去看,浏览器不在乎,而且降低了程序的运行效率,用户不爽。

    至于你提到的 end 标签问题,实际代码是这个样子的:

    <%= render_list :class => "nav pull-right", :id => "userbar" do |li|
      li << link_to( t("common.register"),new_user_registration_path)
      li << link_to( t("common.login"), new_user_session_path )
    end %>
    

    我没有这样不断行地写过,不过这样些没有问题。这并非是凭空出来的标签。 这实际上是一句话,28 行的end闭合的是 25 行的do,尖括号中间的这四行都是转义的 Ruby 代码。 它渲染了一个 list 给这个元素添加两个子节点 li。为什么会被理解为 trick?

    至于你所说得spanc,这的确算是个 bug。 遇到这种情况你可以 fork 一个版本修改并发起一个 pull request,或是简单的提交一个 issue,这样也算为 Ruby China 做贡献了。

    //顺便跟 @huacnlee 说下,第二行的逗号后面应该有一个空格,这个其实不算洁癖吧。

  • 比较不解的是 Ruby on Rails,没有缩写的版本么?我记得 RoR 是合乎英文的缩写规范的,ROR 的确是错误的写法。 还有 Mac OS X 可否写成 OSX 或是 MacOS?

  • 37signals 测试七忌 at 2012年04月25日

    #24 楼 @psvr 不带套的话后来的麻烦事多啊

  • 37signals 测试七忌 at 2012年04月25日

    #23 楼 @allenwei 嗯,基本同意。cucumber 更像是一种约束和引导吧,如果习惯 BDD 的话其实纸笔更有效些。

  • 37signals 测试七忌 at 2012年04月23日

    #20 楼 @allenwei 写起来麻烦是指代码行数多了不少是么? 对我来说我觉得 cucumber 带来了一种全局观,可以从整体上看清楚都需要什么功能,可以考虑功能间关联和如何抽象。 其实更像是 TODO-List 的感觉。尤其是当你负责一个项目,哪怕只是一个局部功能,cucumber 都可以更好的帮助你整理思路。

    rspec 的话个人感觉就是单纯的测试,前提就是整个项目已经设计好了,只是需要完成代码。

  • 37signals 测试七忌 at 2012年04月22日

    #15 楼 @allenwei 这个反驳的文章有一点比较明显,AR 不是不重要而是不需要投入太多精力去测试,model 的描述在 RoR 中已经相当清晰简单了,人工 debug 已经足够,少量的 function 测试就可以了。

    但是我还是不太理解为什么要抵制 cucumber?有人能帮忙大致解释一下么?