禁用emacs的工具栏

osx下使用emacs的时候,如果使用了--with-ns选项,会nextstep目录下生成一个Emacs的app文件,我的是24.3.2,用起来还不错,至少是可以全屏的。

也许有人想要关闭上面的工具栏,如果像一些模式一样在.emacs里面写上:

但是其实这个是不会生效的。

查看一下源码发现选项是1和0,所以我们只需要写成如下方式:

但是如果同时还想使用命令行的emacs,会发现cli下是没有tool-bar-mode的,所以需要判断一下window-system:

这样就可以安心的禁用工具栏了。

Emacs SLIME的安装

安装SLIME:

在.emacs中添加如下内容:

这里要注意以下几点:

  • 这里的sbcl的地址是可执行程序的地址,不然会提示“specified program for new process is a directory...”这类错误
  • slime地址是slime所在文件夹地址

设置好后重启emacs就有slime-mode了,需要slime命令行直接M-x slime就可以了。

windows下emacs编码问题

我们使用windows版emacs的时候首先要考虑编码问题,下面我来介绍以下怎样修改emacs的编码。

我们可以用 M-x describe-coding-system 来查看一下 当前Emacs 的编码情况,我们很可能得到一个类似于这样的列表(当然并不像我这里的显示都是UTF8):

Coding system for saving this buffer:
Not set locally, use the default.
Default coding system (for new files):
U -- utf-8 (alias: mule-utf-8)

Coding system for keyboard input:
U -- utf-8-unix (alias: mule-utf-8-unix)

Coding system for terminal output:
U -- utf-8 (alias: mule-utf-8)

Coding system for inter-client cut and paste:
U -- utf-8 (alias: mule-utf-8)

继续阅读

Emacs下的ls指令乱码问题

在Emacs下使用shell的时候,打ls会出现奇怪的代码,但是dir命令却没有。

Google后发现是因为Emacs默认的终端类型是VT100,改成ANSI就可以了。打开~/.emacs文件,如果不存在则自己创建一个。里面添加一行:

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

这样终端类型就变成了Ansi类型了。

至于什么是终端类型,我们为什么总是要选择它们,在我们SSH的时候就偶尔看到它们。我在网上大致查了一下,似乎这方面的资料不是很多(也许是我找的不仔细),比较靠谱的一个说从前是主机时代,多个终端连接一个主机,所以需要选择对应的终端类型,如今终端几乎都兼容了,但是选择自己喜欢的终端的方式遗留下来,当然也许出自向前兼容的考虑。大部分都兼容VT100,所以默认一般都用VT100,如果终端允许,你可以使用ANSI这样的彩色终端。

如果存在错漏,还请指教。