linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·GCC使用指南
·C语言运算符
·Linux下C开发环境的构成和安装
·fopen()函数的参数说明
·GCC使用手册与常用命令
·Scheme 语言介绍
最新文章
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
·Linux操作系统多线程同步Mutex
·Linux操作系统下C程序语言简易
·Linux系统平台下关于GCC编译及
·解决Linux系统下管道被接受方关
Google
 
Emacs常用命令整理
[ 作者:  加入时间:2007-01-19 11:14:33  来自:chinaunix ]
                   PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[置换]PTbLinux联盟
-----------------------------PTbLinux联盟
C-t                    字符置换                           PTbLinux联盟
M-t                    字置换                             PTbLinux联盟
C-x C-t                行置换                             PTbLinux联盟
C-M-t                  表达式置换                         PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[大小写]PTbLinux联盟
-----------------------------PTbLinux联盟
M-u                    将一个字设置为大写                     PTbLinux联盟
M-l                    将一个字设置为小写                     PTbLinux联盟
M-c                    将一个字首字母设置为大写                 PTbLinux联盟
C-x C-u                将一个区域设置为大写                   PTbLinux联盟
C-x C-l                将一个区域设置为小写                   PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[补全]PTbLinux联盟
-----------------------------PTbLinux联盟
TAB                    最大程度地补全命令                     PTbLinux联盟
SPC                    补全命令中的一个字                     PTbLinux联盟
RET                    完成并执行一个命令                     PTbLinux联盟
?                      列出命令所有可能的后续部分               PTbLinux联盟
M-p                    列出在当前命令之前输入的命令             PTbLinux联盟
M-n                    列出在当前命令之后输入的命令             PTbLinux联盟
M-r                    用规则表达式在命令历史记录中向后搜寻         PTbLinux联盟
M-s                    用规则表达式在命令历史记录中向前搜寻         PTbLinux联盟
C-x ESC ESC            重复执行上一条命令                     PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[Shells]PTbLinux联盟
-----------------------------PTbLinux联盟
M-!                    执行一个shell命令                     PTbLinux联盟
M-|                    在一个区域上执行sheel命令               PTbLinux联盟
C-u M-|                通过shell命令过滤区域                   PTbLinux联盟
M-x shell              在窗口中启动一个shell                   PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[缩进]PTbLinux联盟
-----------------------------PTbLinux联盟
C-x TAB                indent-rigidlyPTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[规则表达式]PTbLinux联盟
-----------------------------PTbLinux联盟
.                      除换行符外的所有单个字符                 PTbLinux联盟
*                      零个或多个重复                       PTbLinux联盟
+                      一个以上的重复                       PTbLinux联盟
?                      零个或一个重复                      PTbLinux联盟
|                      选择(or)                         PTbLinux联盟
(…)                    分组                             PTbLinux联盟
n                      与第n个组相同的文本                   PTbLinux联盟
b                      At work break                         PTbLinux联盟
B                      Not at work breakPTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[编程]PTbLinux联盟
-----------------------------                  PTbLinux联盟
C-M-a                  到函数首部                         PTbLinux联盟
C-M-e                  到函数尾部PTbLinux联盟
PTbLinux联盟
C-M-h                  标记一个函数 PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[GDB调试]PTbLinux联盟
-----------------------------PTbLinux联盟
.启动gdbPTbLinux联盟
 gdb bayonnePTbLinux联盟
 gdb --args bayonne -vvv script.scrPTbLinux联盟
PTbLinux联盟
.利用帮助PTbLinux联盟
 help 命令类别名PTbLinux联盟
 help 命令名PTbLinux联盟
PTbLinux联盟
.调试指定程序PTbLinux联盟
 file  /home/cnscn/a.outPTbLinux联盟
PTbLinux联盟
.运行程序PTbLinux联盟
 r[un]PTbLinux联盟
 r[un] -vvv script.scrPTbLinux联盟
PTbLinux联盟
.设置断点PTbLinux联盟
 按照函数名设置断点PTbLinux联盟
 b[reak] mainPTbLinux联盟
 b[reak] 'namespace::Class::func()'PTbLinux联盟
PTbLinux联盟
.按照文件名和行数设置断点PTbLinux联盟
 b[reak] methods.cpp:523PTbLinux联盟
PTbLinux联盟
.检查状态PTbLinux联盟
 检查堆栈PTbLinux联盟
 b[ack]t[race]PTbLinux联盟
 upPTbLinux联盟
 downPTbLinux联盟
PTbLinux联盟
 检查当前函数的源代码PTbLinux联盟
 l[ist]PTbLinux联盟
PTbLinux联盟
 检查/改变变量值PTbLinux联盟
 p[rint] varPTbLinux联盟
 p[rint] ptr->memPTbLinux联盟
 p[rint] *ptrPTbLinux联盟
 p[rint] ('namespace::Class') *thisPTbLinux联盟
 p[rint] (('namespace::Class') *this)->a.b.cPTbLinux联盟
PTbLinux联盟
 p[rint] var=valuePTbLinux联盟
PTbLinux联盟
 检查类PTbLinux联盟
 ptype ptrPTbLinux联盟
PTbLinux联盟
 set print object onPTbLinux联盟
 whatis ptrPTbLinux联盟
PTbLinux联盟
 检查并启用/禁用断点PTbLinux联盟
 set breakpoint pending onPTbLinux联盟
 info b[reakpoints]PTbLinux联盟
 enable [N]PTbLinux联盟
 disable [N]PTbLinux联盟
PTbLinux联盟
 检查并切换线程PTbLinux联盟
 info th[reads]PTbLinux联盟
 thread NPTbLinux联盟
PTbLinux联盟
 检查寄存器PTbLinux联盟
 info regPTbLinux联盟
 info reg espPTbLinux联盟
PTbLinux联盟
 检查内存PTbLinux联盟
 x/10s *0xaabbccddPTbLinux联盟
 x/5x varPTbLinux联盟
PTbLinux联盟
.继续运行PTbLinux联盟
 运行到某一行即停止,当前函数返回时也停止PTbLinux联盟
 advance source.cpp:123PTbLinux联盟
PTbLinux联盟
 运行到当前函数返回为止PTbLinux联盟
 fin[ish]PTbLinux联盟
PTbLinux联盟
 继续运行直到程序结束或下一个断点PTbLinux联盟
 c[ontinue]PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
.信号PTbLinux联盟
 检查当前的信号处理策略PTbLinux联盟
 info signalsPTbLinux联盟
PTbLinux联盟
 改变信号处理策略PTbLinux联盟
 handle SIGINT passPTbLinux联盟
 handle SIGINT nostopPTbLinux联盟
PTbLinux联盟
PTbLinux联盟
.与Emacs配合使用PTbLinux联盟
 建议使用Emacs-23。设定别名PTbLinux联盟
  alias emacs='emacs --enable-font-backend -fn "Dejavu Sans Mono-12"'PTbLinux联盟
PTbLinux联盟
 修改~/.emacs,把下面这一行加入PTbLinux联盟
 (defvar gdb-many-windows t)PTbLinux联盟
PTbLinux联盟
 在Emacs里启动gdbPTbLinux联盟
 M-x gdbPTbLinux联盟
PTbLinux联盟
 开启多窗口模式PTbLinux联盟
 M-x gdb-many-windowsPTbLinux联盟
PTbLinux联盟
 进入gud-tooltip-modePTbLinux联盟
 M-x gud-tooltip-modePTbLinux联盟
PTbLinux联盟
                       PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[自定义设置]PTbLinux联盟
-----------------------------PTbLinux联盟
.设定预设的输入法,将下面这一行加入到 ~/.emacs 档案中:PTbLinux联盟
 (custom-set-variables '(default-input-method "chinese-array30"))PTbLinux联盟
 在启动 Emacs 后,您就可以直接以 C-\ 指令在英文输入和行列输入法之间切换了PTbLinux联盟
 PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
[FAQ]PTbLinux联盟
-----------------------------PTbLinux联盟
 PTbLinux联盟
.但是有时候用行列打不出来,需要切换成注音输入法。PTbLinux联盟
 有两种方式可以达成这个目的:PTbLinux联盟
PTbLinux联盟
  a. C-x RET C-\ chinese-zozy RETPTbLinux联盟
  b. C-u C-\ chinese-zozy RETPTbLinux联盟
PTbLinux联盟
  作者建议您使用第二种方式,因为它同时也是作为两种输入法间切换的指令。PTbLinux联盟
  接下来您只要键入 C-u C-\ RET 就可以在行列和注音这两者间作切换了。PTbLinux联盟
 (注意:中英输入法间的切换还是以 C-\ 指令为之。)PTbLinux联盟
PTbLinux联盟
  以后我们在不同中文输入法间作切换将可以 C-u C-u C-\ 达成,PTbLinux联盟
  原本作者是建议以 M-\ 来补足这个想法,PTbLinux联盟
  但是 M-\ 很不幸已经作为 delete-horizontal-space 指令了。PTbLinux联盟
  不然 C-\ 搭配 M-\ 不是很漂亮吗?PTbLinux联盟
PTbLinux联盟
  这样子您应该可以理解如何使用中文输入环境了吧!PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
. narrow 功能.用于隐藏文本,在进行string replace时十分有用选中要保留的文本, 然后C-x n n 或M-x narrow-to-region 要展开文本: C-x n w 或 M-x widenPTbLinux联盟
PTbLinux联盟
. emacs的自动排版用M-qPTbLinux联盟
PTbLinux联盟
. window下面用emacs远程编辑文件,可以用 ftp方式:PTbLinux联盟
PTbLinux联盟
    C-x C-f RET /ftp:user@host:/path/test.txtPTbLinux联盟
    ssh方式: 下载plink.exe,将其路径加入PATH变量PTbLinux联盟
    C-x C-f RET /ftp:user@host:/path/test.txtPTbLinux联盟
PTbLinux联盟
. emacs下的su 可以用C-x C-f安下列方式实现su文件编辑PTbLinux联盟
    /su::/etc/foobar.confPTbLinux联盟
PTbLinux联盟
. 用空格代替tab (setq-default indent-tabs-mode nil)PTbLinux联盟
    M-x untabifyPTbLinux联盟
    PTbLinux联盟
. 指定文件的编码方式:C-x RET fPTbLinux联盟
PTbLinux联盟
PTbLinux联盟
. 捕捉程序的输出可以用PTbLinux联盟
    C-u M-! lsPTbLinux联盟
PTbLinux联盟
PTbLinux联盟
. 如何在dos和unix文件类型之间转化PTbLinux联盟
    C-x RET f unix   转化成Unix文件格式PTbLinux联盟
    C-x RET f dos    转化成dos文件格式PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
. hexl   将二进制文件转化成emacs十六进制模式可以用的格式PTbLinux联盟
PTbLinux联盟
PTbLinux联盟
.键绑定PTbLinux联盟
PTbLinux联盟
  1. 记住在所有要绑定到快捷键的函数上面加上(interactive)关键字,否则,会发生(wrong-type-argument commandp my-command)的错误PTbLinux联盟
    对于要绑定到鼠标的函数,要在函数声明中指定参数(event),在修饰段,加入(interactive "e"),然后才能绑定PTbLinux联盟
  2. 对于要传递参数的函数,可以用lambda匿名函数来实现PTbLinux联盟
PTbLinux联盟
    (global-set-key [(prior)]PTbLinux联盟
        '(lambda () "Previous" (interactive) (scroll-down 1)))PTbLinux联盟
PTbLinux联盟
    或则PTbLinux联盟
PTbLinux联盟
    (global-set-key [(prior)]PTbLinux联盟
        (function (lambda () "Previous" (interactive) (scroll-down 1))))PTbLinux联盟
PTbLinux联盟
    记住对于 global-set-key函数需要的第二个参数是一个symble或者是listPTbLinux联盟
  3. (read-event)可以得到emacs的键码的内部表示PTbLinux联盟
  4. 如果你觉得每次为了关闭一个buffer都要按C-x k很麻烦,那么你可以这样绑定:PTbLinux联盟
PTbLinux联盟
    (global-set-key (kbd "<M-f4>") (lambda () (interactive) (kill-buffer (current-buffer)))PTbLinux联盟

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
分页:1 [2]
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息