热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>软件应用>

Emacs中的键盘宏

来源: 作者: 时间:2007-05-28 Tag: 点击:
    这 是 我 的 关 于 如 何 在 Emacs 中 让 你 的 手 指少 动 几 次 的 小 技 巧-- 使 用 Emacs 中 的键盘宏 (keyboard macros)。在 你 编 辑 任 何 文 件 时( 如 C 源 程 序 时) 创 建 一 个 键 盘 宏 首先键 入 `C-x (' , 当 小 缓 冲 器 显 示`Defining kbd macro' 时, 键 入 任何 你 想 自 动 录 入的 字 符。 例 如 你想 录 入 的 如 下:

  int main(int argc, char **argv)
  {

  当 你 结 束 录 入 时 键 入:`C-x )' ,emacs 将 显示`Keyboard macro defined' 。 现 在 你必 须 给你 的 宏 命 名, 以 便你 以 后 调 用 此 宏, 键 入:`M-x name-last-kbd-macro' 时, 会 提示 输入 宏名。 在 我 们 的 例 子 中, 就 叫 做 `main-type' 之 类 的 吧。 现在 打 开 你 的 .emacs 文件, 移 到文 件 尾 部, 键 入:`M-x insert-kbd-macro',当 它 问 你 插 入 宏 的 名 字 时, 键 入 你上 次 取 的 名字。 此 时 emacs 就 会 自 动 插 入 生 成 宏 的 代 码。


现 在 就 可 以 使用 `M-x < 宏 名>' 来 调 用 你的 宏 了。 不 过 好 象 使 用 起 来 并 不 如 预 想的 好, 因 为 使用 宏是 为 了 减 少 你 的 击 键。 不 过 这 个 问 题 可 以 用 定 义 键 盘(keyboard mapping) 来 解决。 下 一 步 是 把 此 宏 定 义 到 一 个 功 能 键 上。

依 你 是 否 需 要 此 宏 用 于 所 有 模 式, 你 可以 使 用 全 程 设 置 键 ( global-set-key) 或 定义 键 (define-key)。

下 面 是 一 个 全 程 设 置 键 的 例 子, 需 要 你把 它 加 入 到 ..emacs 的 尾 部。
  (global-set-key "\C-cm" 'main-type)

如此, 以 后 你 调 用emacs 时, 只 要 你 键 入“C-c m” 时, 整 个 代 码 (not really, just this one line) 就 会 显 现。 请注 意 不 能 使 用 已 定 义 键。 最 合 适 组 合 键 是 Control C + .

如 果 你 只 希 望 此 宏 在 C 模 式(cc-mode) 时 使用, 在 你 的 c-mode-common-hook 中 键 入 如下:

(define-key c-mode-base-map "\C-cm" 'main-type)

在第 一 种 模 式 中 的 问 题 是 你 只 有 有 限 的键 用 来 定 义, 很 快 就 会 用 完。 而 且, 当你 编 辑 一个html 文 件时, 你 不 会 不 想 到 在 emacs 中 如 上 例 喷 出 'int main ' 的 方 法。


附 ?给 老 手: 应 该 指 出 的 是 我 只 是 emacs 的 新 手, 到 目 前 我 仅 仅 使 用 了 六 个 月。 如 上 有 误 请 不吝 指 教。


相关文章:
QT之1(PC机上搭建环境及应用)
安装wine
解决安装CentOS5之后,vi不显示颜色的问题
linux控制台下的一个好东西-splitvt
Vmware-server目标主机积极拒绝,无法连接
vmware server 1.0.6 for linux相关命令
逐步设置vim C/C++语法高亮显示和自动缩进
在VM虚拟机器Linux下安裝VMware Tool的方法
玩了一下compiz-fusion
BMP-Beep Media Player
VIM 文件编码识别与乱码处理(一)
VIM 文件编码识别与乱码处理(二
VI技巧
让firefox 支持 amule (ed2k 协议)
为CentOS 5.1中的Firefox 1.5安装Flash插件……
vi 在编辑某文件时,在该文件内查找东西用何命令?
Freebsd + wine1.1.9 + 国元网上证券交易(通达信
emacs 代码补全功能
安装drupal-6.2和简体中文语言包
谈 Linux GNU 实用工具兼容性
Linux 文件压缩工具指南 一些免费和实用工具的评
Emacs 基础知识
介绍 Emacs 的编辑环境
在 Emacs 中编辑文本
生活在Emacs中
生活在emacs中2
生活在Emacs中3
Linux命令行性能检测工具
Linux下Expect配置
生活在Emacs中4