Posts

多版本ruby与rvm问题 rvm是用来管理ruby多版本的gem包, 可以用来在多个ruby版本间切换或安装ruby. rvm是通过修改环境变量的方式, 所以配合gvim等时会有些不方便。 建议还是在系统里编译个最新版的ruby好些. .. note:: 多版本管理不能和virtualenv相互替代,用途不同. rvm和python virtualenv作用不同. 卸载ruby导致vim/gvim无法启动 vim/gvim如果有+ruby特性,在找不到 libruby-.so. 时,是无法启动. 解决方法. .. code-block:: ruby sudo aptitude purge ruby vim-common vim vim-gnome sudo aptitude install ruby vim vim-gnome 卸载ruby导致emacs启动报错问题 原因应该是因为我装了evernote-mode这个插件,这个插件依赖ruby 重新安装下ruby就解决了 ldd实用命令 解决ruby问题时,偶尔发现的一个帖子. TODO 帖子url .. code-block:: shell ldd `which vim` 可以查看对应软件依赖的共享库(.so) 配合grep可以很好的定位依赖库找不到导致的问题 编译ruby 编译前记得安装readline库, 不然无法使用补全。
Jan 14, 2014
1 min read
elisp按键序列概念 elisp按键在elisp中有两种表达方式: 1> 字符串 “\C-x1” 2> 列表vector [?\C-x ?1] 函数(kbd keseq-string)返回字符串对应的按键序列(字符串或列表形式) 功能键用 <>表示, 等 keymap基本概念 keymap是一个中lisp内的数据结构,用于绑定多个按键序列到对应的command上 按键序列可以分为两种 1> prefix key 前缀键,如 C-x 2> complete key 完整的按键,如 x, C-k, C-x C-q 定义一个complete key前,需要定义所有需要的prefix key. 一般都会有多个keymap处于激活状态,分类如下 1> global keymap (shared by all buffers) 2> local keymap (通常由major mode设置) 3> zero or many minor keymap(通常有minor mode提供) local keymap会覆盖global keymap, minor keymap会覆盖local keymap和global-keymap create keymap and keymap format keymap format **TODO** 函数(keymapp symbal)用于判断指定symbal是否为keymap create keymap function desc others (make-sparse-keymap &optional prompt create and return a new keymap with no entries the usually keymap you need (make-keymap &optional prompt) create and return a new keymap with char-tables use this if you want bind a lots of keys (copy-keymap keymap) return a copy of keymap, recursive copy sub keymap recursive copy fails on function keymap 新建keymap的两个函数都可选的有一个prompt参数,用于设置menu使用,一般不设置
Jan 3, 2014
2 min read
全局变量 setq set 常量 t nil keyword(:) (keywordp) (defconst) 局部变量 let let* (shodow/setq) buffer local/terminal local 变量命名规范 -hook -function -functions -form -forms -predicate -flag -program -command -switches
Jan 2, 2014
1 min read