论坛首页 入门技术论坛

走进Emacs殿堂

浏览 3326 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-24   最后修改:2008-11-26
安装

使用cygwin在windows上安装

在安装emacs之前需要先安装cygwin。这里是安装方法。需要特别说明的是,在选择安装包的时候,请选上python。





安装完cygwin以后我们就可以使用脚本进行以下的安装。把下面的一段代码存到名为myapt的文件中,把myapt文件存放到
C:\cygwin\home\[您的用户名]\bin目录下。

#!/bin/bash

function do_apt(){
    mkdir -p ~/bin
    cd ~/bin
    wget http://download.linuxaudio.org/lilypond/binaries/cygwin/cyg-apt
    chmod a+rx cyg-apt
    cyg-apt -m http://www.cygwin.cn/pub setup
    cyg-apt -m http://www.cygwin.cn/pub update
    cd -
}

function do_editor(){
    do_cyg_install install xinit xorg-server font-adobe-dpi100 font-adobe-dpi75
    do_cyg_install install twm xclock font-isas-misc
    do_cyg_install install emacs emacs-X11 emacs-el
}

function do_cyg_install(){
     cyg-apt -m http://www.cygwin.cn/pub $@
}

cmd=$1

case $cmd in
    init)
        do_apt
        ;;
    emacs)
        do_editor
        ;;

esac



点击桌面的 cygwin 快捷方式启动 cygwin 控制台。
在控制台中输入:


chmod +x bin/myapt #---赋予 myapt 执行权限。
myapt init         #---初始化
myapt emacs        #---安装emacs



现在,emacs在windows下的基本安装就完成了。 我们可以在 cygwin 控制台中输入命令 starx 启动 xterm, 然后在 xterm 中输入命令 emacs-X11
来启动 emacs 程序。


在 ubuntu 上安装

我们同时使用脚本方式安装。把下面的代码拷贝到myapt文件中,把myapt存到${HOME}/bin目录下。


#!/bin/bash

function do_emacs(){
    sudo aptitude install  emacs emacs-extra emacs-goodies-el emacs-intl-fonts
    sudo aptitude install  w3m-el muse-el aspell remember-el
}

cmd=$1

case $cmd in

    emacs)
        do_editor
        ;;

esac



打开Terminal 输入:


chmod +x bin/myapt #---赋予myapt执行权限。
myapt emacs        #---安装emacs



现在,emacs 在 ubuntu 下的基本安装就完成了。



Emacs 简介

打开的 emacs 如下图所示。在 emacs 中编辑的不是文本本身,emacs 会把文件的内容拷贝到 buffer 中。




从图中我们可以看到,emacs 由“菜单”、“工具条”、“主 buffer”、“状态显示条”和“次 buffer” 组成。

在 emacs 中很多操作都有快捷键,使用快捷键是一种
高效的编辑 buffer 的方式。但是如果我们忘记了某个操作的快捷键,我们可以通过选择“菜单”或者点击“工具条”上的按钮来执行相应的操作。

“主 buffer” 是我们编辑文件的主要区域,看起来和记事本没有太多区别,不过当您熟悉了它的功能以后,您就知道它远非那么简单了。

在 emacs 中还有一个模式(mode)的概念,例如我们编辑一个 SQL 文件,那么它就会使用 sql-mod。所有 SQL 相关的语法显亮,连接数据库,执行
SQL 查询等功能都会与 sql-mod 关联。在一个 buffer 中可以使用多个模式。这些信息会显示在“状态显示条”上。

“次 buffer” 是我们和 emacs 交互的一个窗口。通过“次 buffer”,我们可以向 emacs 发送命令。emacs 中的所有操作都可以通过命令来执行。


基本的文本编辑


  C-x C-c : Exit and close Emacs
  C-x C-z : Exit and hang on Emacs
  C-x C-f : Open file or folder
  C-x i   : Insert file
  C-x C-r : Open a file with read only mode
  C-x u Or C-/   : Undo
  C-x C-s : Save
  C-x s   : Save all unsaved files
  C-x C-w : Save as...
  C-l     : Refresh the buffer
  C-g     : Stop current command
  C-a     : Go to head
  C-e     : Go to tail
  C-n     : Next line
  C-p     : Pre line
  C-f     : forward one character
  C-b     : backward one character



如何获得帮助信息

Ctrl + h

  • a  command-apropos.  Type a list of words or a regexp; it shows a list of commands whose names match.  See also the  apropos  command.
  • b  describe-bindings.  Display a table of all key bindings.
  • c  describe-key-briefly.  Type a key sequence;it displays the command name run by that key sequence.
  • d  apropos-documentation.  Type a pattern (a list of words or a regexp),
  • and shows a list of functions, variables, and other items whose documentation matches that pattern.  See also the apropos command.
  • p  finder-by-keyword. Find packages matching a given topic keyword.
  • r  info-emacs-manual.  Display the Emacs manual in Info mode.



Lisp 语言介绍

  • Function


01  (defun my-switch-buffer ()
02    "Like switch-buffer but in the opposite direction"
03    (interactive "")
04    (other-window -1)
05  )


  • Customize Emacs


(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)


安装插件

Emacs的插件一般是由 Lisp 编写的,你只需要把插件的 Lisp 文件放到 Emacs 的查询路径下就可以了。这里我介绍另一个安装插件的工具 ELAP
http://tromey.com/elpa/install.html。



(let ((buffer (url-retrieve-synchronously
	       "http://tromey.com/elpa/package-install.el")))
  (save-excursion
    (set-buffer buffer)
    (goto-char (point-min))
    (re-search-forward "^$" nil 'move)
    (eval-region (point) (point-max))
    (kill-buffer (current-buffer))))





在Emacs中编程

  • Tabbar
  • Spell Check
  • SQL
  • Template
  • Auto-completion
  • Version Control


执行更多的文本编写

  • PlanningOrg

Org-mode is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system.

  • Taking notesmuse

Emacs Muse is an authoring and publishing environment for Emacs. It simplifies the process of writings documents and publishing them to various output formats. Muse uses a very simple Wiki-like format as input.

Muse consists of two main parts: an enhanced text-mode for authoring documents and navigating within Muse projects, and a set of
publishing styles for generating different kinds of output.


扩展Emacs

  • Get the last version automatically


(add-hook 'find-file-hooks 'my-vc-update)

(defun my-vc-update()
  (condition-case nil
      (if (vc-registered (buffer-file-name))
           (vc-update))
    (error nil))
)



  • Run SQLunit Test

(defun sqlunit-run-file ()
     "Run sqlunit on current buffer"
     (interactive )
     (shell-command
      (format "ant -f %s../build.xml  -Dscript.name=%s &" (buffer-dir)  (buffer-name))))


  • Developerworks article publishing


  • 大小: 23 KB
  • 大小: 19.8 KB
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics