emacs使用记录


windows设置emacs目录


在注册表中添加

HKLM/SOFTWARE/GUN/Emacs 添加项:emacs_dir 字符串 D:\Program Files\emacs-23.3
HKCU/SOFTWARE/GUN/Emacs 添加项:HOME 字符串 D:\Program Files\emacs-22.3\home

setHomel.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\GNU]

[HKEY_CURRENT_USER\Software\GNU\Emacs]
"HOME"="C:\\emacs-home"

install.bat

@echo off
xcopy emacs-home /s c:\ /y
regedit /s setHome.reg.reg&&echo 导入成功||echo 导入失败

emacs-home\.emacs

(setenv "HOME" "D:/emacs-22.3/home")

;;set the default file path
(setq default-directory "~/")
(load-file "~/.emacs")
(add-to-list 'load-path "~/emacs/site-lisp")

 宏命令


使用 "Ctrl+(" 开始录制宏命令,再使用 "Ctrl+)" 结束录制宏命令,使用 "Ctrl+u Ctrl+x e"执行宏命令 4 次。

编译cedet


打开cedet-1.0/cedet-build.el,查看说明:

emacs -Q -l cedet-build.el -f cedet-build

插入表格


M-x table-insert

graphviz图形文件编写


编译dot文件:C-c c;

预览编译后的图像文件:C-c p;

代码浏览


etags,emacs 23.3中默认安装了etags

(1) 生成ETAGS文件

为所有c和h文件生成tag:etags *.[ch]
为所有c、cpp和h文件生成tag:etags *.[ch]*

(2) 创建好tag表后,告知emacs

M-x visit-tags-table

(3) 浏览文件

M-.:跳到函数定义处
C-u M-.:查找下一个定义
M-*:回到上一次查找的位置
M-Tab:自动补齐函数名

跳转行


M-g g

将Tab转换成空格


选中要转换的区域,执行 M-x untabify

设定 emacs默认的 Tab 宽度为 4

(setq default-tab-width 4)

c++文件排版


C-c C-q

反向跳转到其他窗口


第一次Ctrl是和负号一起:C-- C-x o

安装w3m插件


参照:http://blog.csdn.net/neverforeverzy/archive/2010/12/16/6080187.aspx

注意,安装了w3m文件,还得安装emacsW32才行

Edit by emacs, wonderful!

列编辑


设置选择标记后,在要截取的地方,按“C-x y k”剪切文本 “C-x r y”粘贴文本

elisp


用如下命令,进入交互模式:

M-x lisp-interaction-mode

此时,你可以输入elisp程序行,例如:

(setq hello "Hello World!")

将光标置于语句最后,执行C-x C-e,立刻看到解析的值Hello World!显示在命令栏中,如果出现错误,会出现错误提示窗口。

也可以用C-j来求语句的值,结果会立刻显示在语句的下一行。

列表前的单引号,告诉Lisp不要对当前列表进行任何操作,仅仅是按原样

lisp是解释性语言,如定义一个变量然后查看这个变量的值,那么一定要将定义变量的语句初始化后才能查看变量的值

push-mark: 在光标的当前位置设置一个标记。 goto-char: 将光标移动到目的位置

判断可选参数是否为nil

(defun is-var-nil (var &optional opt1)
  (if opt1
      (message "var is not nil!")
    (message "var is nil!")))

打开vi模式


M-x viper-mode

emacs在打开文件时,中文乱码

1. 尝试将文件用notepad保存成 UTF-8 格式,再用emacs打开

2. 如果不能将文件保存程UTF-8,可尝试

M-x revert-buffer-with-coding-system

选择 chinese-iso-8bit。

网上说可以更改 编码解析顺序,但配置了还是不行

代码折叠


M-x hs-minor-mode

再通过菜单方式选择即可

查看农历


M-x calendar

选中日期,按 p C (注意 C 为大写)

字母大小写切换


C-x C-u //转换成大写
C-x C-l //转换成小写

elisp帮助文档介绍


    I try to say everything at least three times:

first, to introduce it;

second, to show it in context;

and third, to show it in a different context, or to review it.

任务栏中显示自定义时间格式


现在任务栏中的时间显示看起来很不舒服,尝试了一阵也不能解决。把中文的字体变成英文应该会好看些。现在显示的样子是:

星期五 一月 13 16:59

如下代码可设置成我喜欢的样式

;; display time
(setq display-time-day-and-date t)                             ;打开日期显示
(setq display-time-interval 1)
(display-time-mode t)
(display-time)
(setq display-time-format "%H:%M %Y/%m/%d %A")                 ;设定时间显示格式
(setq display-time-24hr-format t)                              ;打开24小时显示模式
(setq time-stamp-format "%3a %3b %2d %02H:%02M:%02S %:y (%z)") ;设置时间戳的显示格式

自动补全功能


1. auto-complete 不好用,用得越久就越卡

MEW


1. 接收的邮件为乱码,可以尝试在接收邮件列表中,需要查看的邮件行上按 “C-c C-l”选择编码试试

2. 查看邮件为乱码,在邮件上,按“.”即可

3. 保存邮件中的附件,先按“.”,再在附件上按“y”即可

4. 查看已发送邮件,按如下操作:

g
+backup

升级成版本中遇到的问题


let: Opening input file: no such file or directory, d:/emacs-23.3/home/.evernote-mode/contents/7a3e940d-18de-4c07-b65e-9de6dca46bbd

说明是新版本中的书签没有更新,好像 emacs 的查找过程是,如果查找的文件设置了书签,就会先查找书签,在从书签来查找到文件。如果书签不存在,就出现上面的情况了。

解决办法:

打开书签列表,Bookmark Menu \ Bookmarks \ Load a bookmark file ...
再选择原版本中 ~/.emacs.bmk 导入即可

在编写C函数声明时,关键字颜色状态不变化


尝试多空几行试试,再有格式一定要对齐!

org-mode 常用命令


C-c C-a : 添加任务计划

C-c , : 修改任务优先级,通常有 A-C三种级别

C-c C-e a // 到处TXT文件格式。其实按 C-c C-e 后,可以导出 html, xml 等文件

org模式下不能自动换行:在菜单栏 Options \ Line Wrapper in this Buffer \ Wrapper at window Edge

搜索文件


注意在Windows使用时,要保证 .emacs 中 PATH 没有包含 命令提示符,否则 MinGW 的 find 和 命令提示符 中的 find 冲突,只能包含 MinGW 的 find 的路径才行

find-name-dired 在文件夹中搜索文件(按名字,递归)
find-grep-dired 同上(搜索文件中的内容,递归)
find-dired 同上(自由度最高,所有选项自己设置,需要熟悉find)
dired-do-query-replace-regexp 在 dired 模式下替换当前行文件内容

安装 java 编译环境 jdee


cedet

1. 拷贝 cedet 文件夹到 emacs/site-lisp 文件夹中

2. 编辑 cedet/Makefile 文件

(1) 定义 PATHDIR 变量

PATHDIR="d:/emacs-23.4/site-lisp/cedet/common"

(2) 移除所有 "-print -exec $(RM) {} \;" 语句

(3) 将“cd $(CEDET_HOME)/$@ && $(DOMAKE)”修改为“cd $PATHDIR && $(DOMAKE)”。

(4) 在 cedet 目录 make


不重启 Emacs 让 .emacs 配置文件生效


有四个函数可以做到:eval-last-sexp,eval-region,eval-buffer 和load-file

M-x  eval-last-sexp 使.emacs中光标前的那一条语句立刻生效。

M-x  eval-region   使.emacs中选中的region中的语句立刻生效。

M-x  eval-buffer   使当前的buffer中的设置语句立刻生效。

M-x  load-file ~/.emacs  载入.emacs文件,从而使其中的设置生。

时间提醒功能


在 .emacs 添加如下语句,打开时间提醒功能

(setq appt-issue-message t)

添加及删除提醒:

M-x appt-active
M-x appt-add
M-x appt-delete

日志提醒

在 calendar 下,按 i d 插入日志,按 d 查看当天日志。

emacs查找当前文件夹下文件中某个字段


需要和linux的find命令配合才行,在Windows下可以用MinGW来设置,将MinGW 的路径 d:\MinGW\msys\1.0\bin; 放到 %SystemRoot%\system32;之前就行。执行以下命令,并且输入关键字即可。
M-x find-grep

在centos下,eshell不能显示中文

在.emacs下,配置如下内容:

(setq ansi-color-for-comint-mode t)
然后执行 ansi-term 命令,按 Enter 执行默认程序 /bin/bash 即可。但是emacs的好多命令都不能用了。

在centos中不能切换输入法

折磨这个问题一晚上了,终于找到解决办法了。详细流程如下:

1. 下载 ibus-el-0.3.2.tar.gz,解压后将 ibus-el-agent  ibus.el 拷贝到 ~/site-lisp 目录下。

2. 安装必要都软件,通过查看解压后的README文件,可以得到如下内容:

emacs (>= 22)
python (>= 2.5)
ibus (>= 1.2)
python-xlib
3. 前3个软件都好说,直接用yum安装就可以了。对于python-xlib,用yum找不到,所以直接下载源码来安装,其实很简单的。下载python-xlib-0.15rc1.tar.gz解压,参照README,安装过程如下:

  python setup.py install

4. 最后一步配置.emacs。最好设置一个切换快捷键。我设置操作 ibus-toggle 只会打开输入法,不会切换,好奇怪。故设置两个不同的快捷键来切换中英文了。
(add-to-list 'load-path "/home/yangjie/site-lisp/")

(require 'ibus)
(add-hook 'after-init-hook 'ibus-mode-on)
(setq ibus-agent-file-name "/home/yangjie/site-lisp/ibus-el-agent")
;; Use C-SPC for Set Mark command
;; (ibus-define-common-key ?\C-\s nil)
;; Use C-/ for Undo command
;; (ibus-define-common-key ?\C-/ nil)
;; Change cursor color depending on IBus status
;; (setq ibus-cursor-color '("red" "blue" "limegreen"))
(global-set-key (kbd "<C-SPC>") 'ibus-mode-on)
(global-set-key (kbd "<C-M-SPC>") 'ibus-mode-off)
 

php-mode 使php文件语法高亮显示

访问地址 http://php-mode.svn.sourceforge.net/svnroot/php-mode/tags,现在我下的版本为  php-mode-1.5.0/php-mode.el


将下载的文件放到 emacs 根目录下的 site-lisp/ 目录下,并在 .emacs 文件中配置:

(require 'php-mode)

以十六进制方式查看文件

M-x hexl-mode


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值