终于有点受不了”细节之锤”这个酸得要掉牙的名称了,太严肃、太做作了,虽然和我写的内容相符,但是跟我的性格一点都不匹配。
本来还想抱着”细节决定成败”的理念,好好做一做技术方面的笔记,结果发现,这里真成了自己的烂笔头了。啥东西,都是一股脑扔进来!
现在改成一个俗不可耐的名称”浏忙大爆炸”,一来符合乱的本性,二来好歹让别人知道浏忙是啥意思嘛!至于大爆炸呢,可以参看四个土摩托和一个美女的故事~~
如果你有 Windows,Linux 等多台机器,你可能要试着在多台机器间同步你的 Emacs 配置文件,这样才用得爽嘛!我就是这样,采用下面的步骤就可以实现此目的:
1) 尽量把与本地路径相关的东西放到 .emacs 文件,而把其它通用的内容放到其它 el 文件里
我用 svn 管理我的 Emacs 配置文件,扩展的 el 文件我也保存到 SVN 里面,这样,随便到哪台机器上只要把配置文件 check out 出来,就可以使用了。
当然,在不同的机器上,会面临字体、文件路径等问题,这时,需要根据各台机器的实际情况,单独配置一下。
可以用 (system-type) 来识别当前机器的操作系统版本,同样,你也可以根据更多的属性,如用户名等来判断配置文件应该设置哪些参数。
如果对于多台同样类型的机器,你也可以根据 (system-name) 来判断一下你的 Emacs 所在路径。
这两种方法性质类似,完全可以根据自己的属性灵活选用这两种识别机器的方法。
当要在 Window 或是 Linux 机器上识别、配置不同的代码的时,可以参考下面的例子代码:
;;如果是 Windows 平台,则进行如下设置 (if (eq system-type 'windows-nt) ;;current system is Windows, do some specific setting for Windows ;;(message "Current system is Windows") ;;use Cygwin as bash (let* ((cygwin-root "d:/cygwin") (cygwin-bin (concat cygwin-root "/bin"))) ;;根据不同的 Windows 系统设置不同的路径 ;;设置公司电脑的路径 (if (string-match (system-name) "SCUT-9C14ED3B4C") (setenv "HOME" (concat cygwin-root "/home/water"))) ;;设置家里电脑的路径 (if (string-match (system-name) "32283744FF164E6") (setenv "HOME" (concat cygwin-root "/home/water/water"))) (setenv "PATH" (concat cygwin-bin ";" (getenv "PATH"))) (setq exec-path (cons cygwin-bin exec-path))) (setq shell-file-name "bash") (setq explicit-shell-file-name "bash") ;;else current system is Linux, do some specific setting for Linux (if (or (eq system-type 'cygwin) (eq system-type 'gnu/linux) (eq system-type 'linux)) (message "Current system is Linux, please do some specific setting here")))
如果要专门针对某一类型的系统设置字体等,就可以参考下面的代码来设置:
;; font set (if (or (eq system-type 'cygwin) (eq system-type 'gnu/linux) (eq system-type 'linux)) (set-default-font "Courier 10 Pitch-12") (set-default-font "Courier New-14"))
如果专项设置的代码量比较大,还可以把不同平台的代码分成几个文件,导入不同的文件即可。
2) 选择需要同步的文件
并不是所有的配置文件都需要同步,我也不赞同一股脑地把所有的文件同步,有一些配置文件完全可以根据平台的需要选择不同步。
像我的习惯就是 .ido.last, .recentf, .emacs.desktop 这些文件就不同步了。
因为家里的电脑和公司的电脑,干的事情基本上是不同的,没有必要搅成一堆,这样也不容易产生冲突。再一个,回家了,就不干公家的事情了嘛!
3) 文件远程同步软件或工具
至于文件同步工具,水木社区 Emacs 版上有人推荐的,用 ProjectLocker 和 DropBox 都不错,前者是免费 SVN 服务器,后者也是一个免费的文件同步工具。同样,还有一些其它的同步软件也可以试用。
通过以上三个步骤仔细设置,就可以一劳永逸地在多台电脑间同步 Emacs 工作环境,同步 org,muse 等文件了。
感谢水木社区 Emacs 版的 ahei0802,swdonline,Madsen 等兄弟们的经验分享。
最近工作很忙,天天趴在电脑前写呀写呀的,搞得眼睛很疲劳。
其实嘛,工作再忙,也得定时让自己休息。不过一忙起来,就容易忘记休息。人都是有惰性的,非得有外力强迫休息一下不可!
Workrave 可以作为一个视力保护程序,定时提醒您该休息了,功能和 Windows 下的 EyeDefender 类似。
平时虽然有带纸和笔在身上,可是在地铁和公交上想到事情时,往往都没办法拿出来记。
我的手机功能比较弱,没有办法直接使用 Remember The Milk 的服务,而单独写成备忘录之类的又太零散了,不便于集中管理。手机太渣,访问其它记事本功能的站点,基本上也用不了,只剩下电子邮箱这种办法了。
以前我都是给自己发个邮件了事,但是依然需要手动把这个 Todo 事情从邮件里贴到 Remember The Milk 上。今天发现,Remember The Milk 提供发邮件写 Todo 的功能,一切问题迎刃而解了!
在设置页面里找到 Remember The Milk 给你提供的邮件地址,往这个地址发送内容即可更新 Todo 列表,邮件的标题成了 Todo 的记录,内容成了该 Todo 记录的备注内容。当然,还可以有更复杂的标记功能,需要的话,可以使用。
下次想到事情的时候,只要拿出手机登上139的邮箱,发个邮件就好了,并且也能在电脑前查看了。之所以用 139 邮箱,是因为这个邮箱基本上是我手机不用重新登陆就可以访问的唯一一个邮箱了。
看,穷人也有穷人的法子!