`

Ubuntu中emacs23 的字体设置和emacs初始窗口位置的小经验

阅读更多
Debian users, if your emacs startup fonts looks ugly, that’s might because you’ve installed gsfonts-x11 package which give X the capability to display Ghostscript fonts, and they are poorly rendered on screen. To fix this, read the document come with gsfonts-x11, or Debian Reference, Section 9.4.13 “TrueType? fonts in X”. (http://www.debian.org/doc/manuals/reference/ch-tune.en.html#s-xfs-tt)

how to install Emacs Snapshot on your Ubuntu.
   1. First add the following lines to your /etc/sources.list file
      deb http://debs.peadrop.com feisty backports
      deb-src http://debs.peadrop.com feisty backports

   2. Then add the GPG key to the key database.
      wget --quiet http://debs.peadrop.com/DD385D79.gpg -O - | sudo apt-key add -

   3. Then update and install the following packages. These are only for the 32bit version of Ubuntu.
      sudo aptitude update
      sudo aptitude install emacs-snapshot-gtk emacs-snapshot-el

   4. Then you have to specify which font you want to use in the Xresources file.
      echo "Emacs.font: Monospace-14" >> ~/.Xresources
      xrdb -merge ~/.Xresources
(http://www.fslog.com/2007/06/21/install-emacs-snapshot-on-ubuntu-feisty/)

for color theme
http://www.nongnu.org/color-theme/#sec1


emacs23 的字体设置和emacs初始窗口位置的小经验--之所以起这个题目,是因为我在折腾emacs字体的过程中发现,如果你成功的更改了emacs的字体后,会有个很奇怪的问题--emacs每次启动后,程序的窗口都有一部分会在屏幕可显示区域之外,每次都要手动改变窗口大小才能正常使用,麻烦.

我上网搜了一下,不少人也有这个问题,仔细看看终于找到了解决方案。

介绍如下:

原因:

* emacs的字体设置

由于 emacs 是个支持多语言的程序,它支持很多种字符集,而一种字体一般只覆

盖一个或几个字符集,因此只用一种字体是无法显示 emacs 支持的所有文字的。

因此在emacs中需要设置 fontset,也就是多种字体的集合,或者叫做字体集。

如果我们不指定 fontset, 那么 emacs 会使用默认的 fontset-default 来显示

字体。如果你觉得这种字体不好看,就需要自己定义 fontset。定义 fontset 有

两种方式,一种是在 ~/.emacs 中使用 create-fontset-from-fontset-spec 函

数,令一种是在 ~/.Xdefaults 中定义资源。我们分别介绍这两种方法。

上述两种方法都可以实现同样的效果。但是有一点细微的差别,采用第一种方法时,fontset 的定义是写在 ~/.emacs 中的,而 emacs 启动过程中,是先建立了第一个窗口,然后才读取 ~/.emacs 的,建立第一个窗口时,因为还没有读到我们定义的 fontset, 因此它会采用 fontset-default 创建第一个窗口,当读到我们定义的 fontset 时,再进行调整,如果我们定义的 fontset 与默认的fontset-default 字体差别比较大,就会看到emacs进行了一个调整窗口大小的动作,这个动作延缓了 emacs 的启动过程。(耶林按:这就是造成启动程序时窗口都有一部分会在屏幕可显示区域之外的原因,也就是说在emacs加载时,~/.Xdefaults文件是比~/.emacs预先被emacs读取的)而采用第二种方法则不会出现这个问题,因此推荐使用第二种方法。


另一篇相关文章:

改变emacs启动窗口大小的两种方法 by aofanliguo(作者)

很多时候,emacs并不是按照你的想像去启动的.你会发现它可能启动后占据了两个或更多窗口.或者,你喜欢全屏工作方式,但每次启动后最大化总是一件很麻烦的事情.在日常应用中,我总结了以下两种方法,

第一种方法:

在你的 ~/.Xdefaults 中增加下面这行

Emacs.geometry: 80x30

然后运行 xrdb ~/.Xdefaults

这样emacs的启动窗口就被设为80列x30行的大小

你可以按照自己的要求设置

Emacs.geometry: WIDTHxHEIGHT+XOFF+YOFF

其中WIDTH, HEIGHT分别表示窗口的宽度和高度,可选的XOFF和YOFF表示启动窗口的左上角座标。

例如:

Emacs.geometry: 80x30+20+10

表示令窗口大小为80x30,启动后左上角处于(20,10)处,很简单,不是么

第二种方法:

在配置文件中配置,配置文件通常在你的用户目录,为.emacsrc.(耶林按:我的是.emacs 文件)

加入下面一行:

(setq default-frame-alist

'((height . 35) (width . 100) (top . 20) (left . 20) (menu-bar-lines . 20) (tool-bar-lines . 0)))

由于后一种是写在配置文件中的,所以相对来说比较方便.更多的详细设置网上搜一下default-frame-alist
(Window-Frame-Parameters)

耶林的分析和结论:

根据我上面的参考和分析,在emacs加载时,~/.Xdefaults文件是比~/.emacs预先被emacs读取的,但是在 ~/.Xdefaults里面设置字体的方式比在~/.emacs里面的要麻烦,本着能省就省,能躺下绝不坐着的懒人原则--字体要在~/.emacs里设置比较简单,而对启动窗口的设置,则需要在~/.Xdefaults里面设置才会有预期效果。

原因?且看我慢慢摆来:

如果在~/.emacs里面设置启动窗口,你会发现尽管窗口会显示成你所设置的大小,但位置仍然不对,哪怕是你设置了屏幕0,0的坐标emacs启动后也不会在屏幕的边上角,盖是因为emacs在此之前已经通过读取默认设置,确定了窗口的初始屏幕位置,然后再读你的.emacs文件里的窗口位置和大小,此时,大小参数起作用了,而位置的参数仍然是在默认基础之上起作用而已。比如,如果默认的emacs是10,10的窗口坐标,你如果在.emacs里面设置了窗口坐标是15,15,那么真正的窗口坐标则会是:10+15=25------> 25,25,而非你想要的15,15。

于是,那么,so,这样,窗口仍然会出桌面边界。再唠叨一遍我的分析:emacs在加载时,~/.Xdefaults文件是比~/.emacs预先被emacs读取的,但emacs会根据~/.Xdefaults文件中的参数调整窗口位置并取代其默认的启动位置(而非像在.emacs里设置位置那样的是坐标相加),所以我们要想定义 emacs的窗口启动位置,在~/.Xdefaults里面设置才是比较好的解决方法--emacs最基础的那个默认设置在哪里,我目前还不知道,慢慢学习吧。

综上所述,对于emacs 23(我只试过23 snapshot版本)来说,调整字体最便捷的方法莫如在~/.emacs里,调整程序窗口启动时在屏幕上的位置,则要在~/.Xdefaults里。

我的emacs装好后,home目录里没有这两个文件,是我手动创建的,依网上的资料,设置如仪,效果不错,xft字体系统,功德无量。

--linux,大有进步哦。

我自己的这两个文件的内容如下:

.Xdefaults文件

Emacs.geometry: 100x35+0+0

.emacs文件

(set-default-font "Bitstream Vera Sans Mono-10")

;; 设置中文字体

     (set-fontset-font "fontset-default"

      'gb18030 '("WenQuanYi Bitmap Song" . "unicode-bmp"))


简单吧。
分享到:
评论

相关推荐

    Ubuntu平台上Emacs 23 的安装配置

    Ubuntu平台上Emacs 23 的安装配置

    emacs文本编辑器ubuntu下安装和使用

    Stallman的GNU emacs文本编辑器,和vi一样,被Ubuntu和几乎所有的Linux系统默认安装。和其他Unix/Linux文本编辑器不同的是,emacs并不仅仅是一个简单的文本编辑器。它是一个编辑环境,可以被用来编译运行程序,可以...

    系统Ubuntu下的Emacs配置

    带有各种功能的emacs配置。

    emacs初始化文件

    emacs的很简单,很基本的配置文件,保存用于以后使用

    emacs配置IDE

    emacs配置IDE相关资料,包括代码补全等等。

    emacs23安装包(最新)

    emacs 既然会选择用,那我就不多介绍了。这是emacs的源码安装。很好的文档编辑软件,代码编译环境很不错。个人感觉比vc还亲切一些。而且还提供了很多教程,不妨一试。

    emacs, 已经准备好使用Emacs设置进行JavaScript和.zip

    emacs, 已经准备好使用Emacs设置进行JavaScript和 azer安装的EmacsReady-to-use Emacs的JavaScript设置和编程。 安装$ cd ~$ git clone https://github.com/azer/emacs$ cd ema

    Emacs教程中文版

    记住,永远都用C-x C-c来退出Emacs。用C-z来退到一个临时的外壳里,以使你过后还能回到 Emacs。 本教程尽量让所有的初学者都能理解,如果你发现有些东西不清楚的话,别责备你自己-抱怨吧!

    emacs23中文版

    没有找到新版本,该版本可以输入中文字符,20070710日版 如果谁有新版本请通知我,谢谢了。

    Emacs User 's Guide中文版电子书

    如何在 Emacs 中执行 Shell 的指令 有关目录的编辑方法 如何编辑远方机器上的档案 程式的编辑,编译与测试 如何在 Emacs 中列印文件 在 Emacs 中如何收发信件 其它与 Emacs 相关的工作环境 与 Emacs 有关的...

    emacs-window-manager, emacs的可以自定义窗口管理器.zip

    emacs-window-manager, emacs的可以自定义窗口管理器 E2WM: 均衡Emacs... 它可以定制弹出窗口,如何分割,如何拆分,缓冲区位于 Windows,keybinds操作 Windows 和缓冲,等等 也有帮助你的Emacs生命的功能。缓冲区历

    emacs 快速配置脚本包

    快速搭建的主要思想是采用执行注册表脚本 设定 emacs 查找配置文件的路径为 c: emacs home emacs 同时又在此文件中定位到我们现在刚下载的路径 及更改 home 目录的方式 包含最基本的配置 颜色 字体等 脚本以及常用的...

    三本emacs书籍:生存于emacs+生活于emacs+emacs手册

    本压缩包包括了:living in emacs, survive in emacs & gnu emacs pocket referrence. 希望大家喜欢

    EMACS 编辑器入门

    EMACS 编辑器入门 pdf

    Emacs使用详解,Emacs使用详解

    Emacs使用详解Emacs使用详解Emacs使用详解

    Emacs中文手册.pdf

    Emacs中文手册.pdf

    emacs 24 hours PDF

    Emacs is one of the most powerful text editors available, yet it is not the easiest to navigate, in part because it covers so much. Sams Teach Yourself Emacs in 24 Hours helps simplify the program by ...

    Python-Emacs的固定和自动平衡窗口布局

    通过强制执行固定和自动平衡布局来管理窗口大小

    emacs 中文包

    emacs中文包_汉化包,ubuntu和Debian以及分支可用。deb格式。

Global site tag (gtag.js) - Google Analytics