Emacs

There are 5 entries for the tag Emacs

Emacs中reStructuredText模式(rst-mode)的快捷键

MitchellChu 2014-09-06 其他技术

这篇是前面一篇reStructuredText教程文章的补充,因为本人使用Emacs来编辑rst文件,为了加快编辑速度,需要使用到rst-mode下的快捷键,因此根据文档整理出一份快捷键对照表,方便自己后继查找使用,也希望能够给有需要朋友一些帮助。 快捷键 说明 M-x rst-mode 进入rst-mode。 ...

Emacs的临时文件和备份文件

MitchellChu 2014-07-18 其他技术

Emacs在编辑文件的时候实际上并非对文件本身进行编辑,而是会将要编辑的文件内容拷贝到Emacs的一个临时缓冲区(buffer)内,而我们编辑的时候,也只是对这个缓冲区的内容进行更改。为了便于在需要的时候能够方便的应对,Emacs会自动产生一些其他的辅助文件,其中最常见的有临时文件和备份文件。 临时文件(Auto-Save file) Emacs的临时文件的文件名是使用“#”包围,这种文件一般是在Emacs中编辑时,emacs自动保存的文件,他在编辑文件的同一个目录内生成一个以#file-name#这样的文件,这个文件会在我们保存文件之后被emacs删除。这个文件的作用是为了防止在进行编辑的时候异常退出造成的损失。 1. 在Emacs内使用[C-x,C-f]打开要编辑的文件(test-file.txt) 2. 在打开的buffer中编辑内容 3. Emacs自动侦测buffer是否更改,如果更改会自动Auto-Save 4. 此时我们能够在编辑的文件同一目录下看到临时文件为: #test-file.txt# 5. 使用[C-x,C-s]保存当前buffer 6. 当前buffer中的内容被写入文件,#test-file.txt#消失——被Emacs自动删除  如果你不想产生这个临时文件也是有办法的,就是关闭自动保存功能,在你启动的.emacs文件内添加下面这行 (setq auto-save-default nil) ;; 默认值是t, 要关闭直接用nil更改默认值  当然,一般是不建议关闭的,因为在异常退出之后,如果你想要恢复自己辛苦编辑的内容,它能帮上大忙,你只要在emacs内打开你要恢复的文件,然后在恢复即可。 1. 打开要恢复的文件,如:test.txt 2. [M-x] 3. 输入:recover-file 回车 4. 确认恢复 用起来还是不错的。   备份文件(Backup files) 备份文件是在第一次保存的时候,如果保存的文件已经存在,Emacs会自动将当前已经存在的文件重命名作为备份文件,并将当前buffer的内容写入同名的文件中来替代原来的文件。而备份文件使用的是一个“~”作为后缀(如:file-name~)。大概的流程如下: 1. 打开文件,如:MitchellChu.txt 2. 编辑...(这涉及到临时文件的问题,忽略) 3. 在emacs内发出保存指令 4. emacs先将MitchellChu.txt保存为:MitchellChu.txt~ 5. 保存完成后,Emacs将当前buffer的内容写入MitchellChu.txt 注意:此时的MitchellChu.txt已经不再是原来的那个文件,但所有连接到原来那个文件的,现在被这个新文件接管。  当然,上面的这个流程是可以定制的,比如,我们可以要求emacs通过拷贝,而非重命名的方式来备份文件,在.emacs或者Emacs内设置个变量就成: ;; 在.emacs文件中添加下面这行表示使用拷贝模式 (setq backup-by-copying t) ;; 默认是nil,开启之后使用拷贝模式 ;;;;;;;;;;;;;;; ;; 如果是在Emacs中 ;; 你可以通过直接设置这个变量的值来改变模式 ;;;;;;;;;;;;;;; ;; [M-x] ;; set-variable ;; backup-by-copying ;; t ;; 回车,即可修改模式  这里同上,还是建议不要修改这个值,因为重命名的方式Mitchell个人感觉要优于拷贝模式。 备份文件默认仅会发生在Emacs第一次写入的时候,即,开启Emacs之后,第一次打开文件并保存的时候,编辑期间多次保存并不能产生多次备份动作。然而,下次重新打开Emacs,再次执行同样的动作的时候,同样在第一次保存时,Emacs是会将上次的备份文件覆盖的(如果有)。这也许是你不想要的,这时候你可以通过设置,让每次的备份文件都不同。具体的操作涉及到比较多的参数,这个功能觉得没有太大用处的,这里就不赘述,如果感兴趣,可以参看:version-control。

Linux下Putty链接后Emacs黑底蓝字处理

MitchellChu 2014-05-14 其他技术 Unix & Linux

在CentOS 6下装了一个Emacs24.3,在宿主终端上显示Emacs的字体还是非常不错的,可是用Putty一连接,Emacs的字体就抽风,里面的链接变成了黑底蓝字——作死的节奏啊这是!在屏幕上只能看到蓝色的一小团,贴近了看才能看清楚字的内容。后来,一查才发现,原来是终端连接上没有开启xterm-256色。 查看设置: tput colors ## 如果是显示8,恭喜,xterm终端默认还是8色 echo $TERM ## 查看终端类型,CentOS下默认好像是xterm  如果你也是上面显示的这个数值,那说明同样没有开启对终端的256色的支持。 开启Putty终端256色的支持要做2件事情: 1. Putty客户端工具里面要开启对Xterm-256colors的支持 Putty设置: Putty->Change Settings...->Window->Colors->(勾选)Allow terminal to use xterm 256-colors mode->Apply 2. CentOS(Linux)上开启Xterm-256colors。  开启Xterm-256color有两种方式,其一是修改连接用户的.bashrc文件;其二是修改.Xresources文件。如果是使用CentOS的命令行模式(没有安装XWindow)的话,.Xresources文件可能不存在,此时可以用第一种方式实现。 修改~/.bashrc: ## 务必注意,修改的是使用PuTTY连接到Linux的用户目录下的.bashrc vi ~/.bashrc ## 打开用户的.bashrc文件 ## 在末尾附加下面代码 if [ "$TERM" == "xterm" ]; then export TERM=xterm-256color fi ## 保存~/.bashrc文件 修改~/.Xresources: ##在~/.Xresources文件中添加下面这句 xterm*termName:xterm-256color ##保存~/.Xresources文件 修改完成后,记得重新登录下,以便让修改后的xterm配置生效。生效后,再次输入开篇的命令,你可以看到结果的不同: tput colors ## 这个时候返回的应该是256 echo $TERM ## 此时返回的应该是xterm-256color 此时,在开启Emacs,就会发现,可恶的黑底蓝字终于得到了拯救。 其实你也可以在修改前后对比下Emacs内输入M-x list-colors-display(看不明白?可参看Emacs快捷键对照说明),看看前后的效果。——应该明显不同哦(8个颜色和256个颜色) TIPS: 1. 如果上述修改后,没有得到正确的结果,说明你可能需要安装ncurses-term包来提供xterm-256color类型支持。里面有许多附加的终端类型定义。 2. 这种方法只能让PuTTY支持256色,如果你的Emacs还是显示的不符合你胃口,那么你就要考虑换配色方案了,而不是在这里寻找原因。 ##在Emacs里面的minibuffer(小缓冲区域)内输入下面的命令,你就可以看到各种Themes了 ## Mitchell觉得manoj-dark,tango-dark,tsdh-dark都还不错 M-x customize-themes RET

Emacs的常用快捷键功能对照表

MitchellChu 2014-05-12 其他技术

Emacs的功能非常多而且复杂,在Linux的shell下使用的时候,如果不能够灵活使用快捷键,很多操作不可能顺利完成,正因为这一点,本文罗列了一些在Emacs下常用的快捷键组合。这样可以让Emacs的初学者——比如MitchellChu,可以比较快速的上手Emacs。 这篇文章中的快捷键提取自Emacs的帮助文档中,因此,在不方便联网的时候,你也可以通过帮助文档来获取同样的信息。 本文中出现的键值简写说明: Ctrl,CTL,C均表示为同一个功能键(普通键盘中的CTRL键); META,EDIT,ALT,M均表示为同一个键(常用键盘中的ALT键); SHITF,S均表示同一个键(键盘中的Shift键); ESC表示键盘中的ESC键; SPC表示键盘中的Space键(键盘中最长的那根空格键); Deletespace,Backspace意为同一个键(Backspace键); RET,ENTER表示同一个键(回车)。 本文中出现的组合键说明: [C-x]类型,短横线分隔表示同时按下。表示按下CTRL键之后,在不松开CTRL的前提下,按下x键。 [C-x,o]类型,逗号分隔表示依次按下。按下CTRL键后,再按下x键(同上),之后松开所有键,再按o键; 快捷键类型说明: C-x是字符扩展:C-x之后输入一个另一个字符或者组合键,来达到执行新的命令的目的。 如:C-x,C-c,这个就是接组合键的扩展,作用是退出Emacs M-x是命令名扩展:M-x之后输入的是一个命令名称。 如:M-x customize-variable 则属于命令扩展, M-x replace-string 也属于命令扩展  Emacs常用快捷键对照表 快捷键 快捷键备注 ...

CentOS6.4下Emacs24.3的编译安装备忘

MitchellChu 2014-04-27 Unix & Linux

Emacs是一个具有强大扩展性的文本编辑器(说IDE或许更准确点),在CentOS中,你可以直接通过yum来安装。出于对新版本的热衷,选择了对Emacs24.3进行了编译安装。以下是Mitchell的安装过程,关于编译安装的一些介绍可以参看前一篇编译安装介绍。 首先,自然是要获取到Emacs的源代码,源代码在Emacs的官方网站上可以找到下载的地方(其中一个地址);第二个就是依赖了,Emacs 24.3版本需要依赖autoconf(2.65或更新),makeinfo(4.7或更新),makeinfo在Texinfo里面。 编译过程是反向的,先将依赖,编译安装完成之后,再编译安装Emacs本身。 autoconf的编译安装,由于CentOS本身自带autoconf,但是autoconf的版本不符合要求,因此先删除自带的autoconf。 yum erase autoconf 用这种方法移除后在更新,涉及到依赖包:automake,intltool,libtool。我们还需要将这些新版本安装回来。安装automake,intltool,libtool的过程简要备录如下: automake安装: $ wget http://ftp.gnu.org/gnu/automake/automake-1.14.1.tar.xz $ ./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.14.1 $ make $ sed -i "s:./configure:LEXLIB=/usr/lib/libfl.a &:" t/lex-{clean,depend}-cxx.sh $ make -j4 check TIPS:这个后缀的文件名不太常见,解压方法可以参考:Linux下的压缩解压命令汇总 make check的信息如下:    ============================================================================ Testsuite summary for GNU Automake 1.14.1 ============================================================================ # TOTAL: 2761 # PASS: 2455 # SKIP: 266 # XFAIL: 40 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ 这表示成功,可以安装 # make install libtool安装: $ wget http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.tar.xz $ wget http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.tar.xz.sig $ tar xvf libtool-2.4.tar.xz $ cd libtool-2.4/ $ ./configure --prefix=/usr $ make $ make check # make install intltool安装: $ wget http://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz $ ./configure --prefix=/usr && $ make # make install && ...

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。