Emacs配置点滴
一些很简单的emacs命令
这些命令很简单,但是你必须得知道,这些东西是生存之本。
一些说明
下面的命令C
代表Ctrl
,M
代表Alt
,C-x
表示Ctrl
和x
键同时按下。M-x
类似。
简单的文件操作命令
C-x
C-f
用于打开文件,当然文件不存在,就是新建命令
C-x
C-s
用于保存文件的命令
C-x
C-w
另存为命令
C-x
u
撤销,就是所谓的undo
C-/
也是撤销,用这个貌似要方便很多
C-x
C-c
用于关闭emacs
的命令
C-y
用于粘贴
M-y
在按下了C-y
之后,使用此键,切换粘贴的内容
C-w
剪切
M-w
用于复制
Shift-<
用于在光标处做一个标记,这个标记有什么用呢?
文档搜索命令
C-s
向前搜索,不断地按,可以不断向前推进
C-r
向后搜索,不断地按,可以不断地向后推进
C-M-s
向前正则式搜索
C-M-r
向后正则式搜索
移动命令
C-p
光标向上移动一行 – previous
C-n
光标向下移动一行 – next
C-v
向后翻页
M-v
向前翻页
C-a
移动到行首 – ahead
C-e
移动到行尾 – end
M-a
移动到段首
M-e
移动到段尾
C-f
向前移动一个字符 – forward
C-b
向后移动一个字符 – backward
M-f
前进一个单词
M-b
后退一个单词
重复命令
C-u
+ number
+ 命令
number为重复的次数,使用这个命令可以重复执行该命令number次
C-o
插入空行
C-k
删除一行
C-x
z
重复前个命令
取消命令
C-g
取消正在键入,但是还没有键入完成的命令
关于窗口的命令
C-x
0
关闭当前的窗口
C-x
1
只显示一个窗口,而杀掉其余全部的窗口
C-x
2
垂直切分,将窗口分为上下两部分
关于emacs的帮助命令
C-h
v
查看变量的文档
C-h
f
查看命令的文档
C-h
k
查看快捷键的文档
一些非常有用的命令
M-x load-file
然后按下回车键,然后emacs会让你选择加载的文件,这个时候逆置需要输入你的配置文件就可以了,这样就实现了重新加载配置文件,而无需重启
如何实现主题的切换?
这里我们必须了解一个函数,叫做add-to-list
,这个函数顾名思义,就是将某样东西添加到一个list
里面去。那么我们要这个函数干什么呢?很简单,我们要设置emacs
的加载目录,大概是这样设置:
;; 往load-path里面添加一个目录
(add-to-list 'load-path "~/.emacs.d/")
然后我们要下载主题包,color theme
是emacs
的美化包,用emacs
的lips
写的扩展程序吧,有很多颜色配置方案,下载地址:http://download.savannah.gnu.org/releases/color-theme/
下载完成之后我们要解压里面的文件到一个目录,这个目录我建议直接放在emacs
的安装目录下面吧,好管理!在windows
下推荐上面的做法,在linux
下面的话,放在~/.emacs.d/
目录下是一个很好的选择。
接下来怎么做呢?自然是修改你的配置文件,将下面的的代码添加到你的配置文件中去:
;;;;;;;;;;;;;;;;;;;;
;; color-theme
;;;;;;;;;;;;;;;;;;;;
;; 添加加载的路径,这里的~/.emacs.d/请自行替换成你的解压的主题所在的目录
(add-to-list 'load-path "~/.emacs.d/")
;; 加载文件
(require 'color-theme)
;; 初始化
(color-theme-initialize)
;; 选择主题
(color-theme-deep-blue)
如何更换主题呢?在emacs
下面?
按下alt+x
,然后输入color-theme-
,回车,然后选择主题即可。
如何设置启动窗口的大小?
;; 设置启动窗口大小
;; 高度是35行,宽度是125个字,tool-bar-lines设置为0,其实就是去除了toolbar,菜单栏高20
(setq default-frame-alist
'((height . 35) (width . 125) (menu-bar-lines . 20) (tool-bar-lines . 0)))
关于emacs的shell-mode的一些问题的解决方案
进入shell-mode
M-x
shell-mode
进入shell mode
如果在window下面中文乱码,这么解决,在你的配置文件的最前面加上下面的代码:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 解决windows下面shell乱码的问题
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; 设置编辑环境
;; 设置为中文简体语言环境
(set-language-environment 'Chinese-GB)
;; 设置emacs 使用 utf-8
(setq locale-coding-system 'utf-8)
;; 设置键盘输入时的字符编码
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
;; 文件默认保存为 utf-8
(set-buffer-file-coding-system 'utf-8)
(set-default buffer-file-coding-system 'utf8)
(set-default-coding-systems 'utf-8)
;; 解决粘贴中文出现乱码的问题
(set-clipboard-coding-system 'utf-8)
;; 终端中文乱码
(set-terminal-coding-system 'utf-8)
(modify-coding-system-alist 'process "*" 'utf-8)
(setq default-process-coding-system '(utf-8 . utf-8))
;; 解决文件目录的中文名乱码
(setq-default pathname-coding-system 'utf-8)
(set-file-name-coding-system 'utf-8)
;; 解决 Shell Mode(cmd) 下中文乱码问题
(defun change-shell-mode-coding ()
(progn
(set-terminal-coding-system 'gbk)
(set-keyboard-coding-system 'gbk)
(set-selection-coding-system 'gbk)
(set-buffer-file-coding-system 'gbk)
(set-file-name-coding-system 'gbk)
(modify-coding-system-alist 'process "*" 'gbk)
(set-buffer-process-coding-system 'gbk 'gbk)
(set-file-name-coding-system 'gbk)))
(add-hook 'shell-mode-hook 'change-shell-mode-coding)
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
如何在开启多个窗口之间方便地切换?
请试一试下面的配置:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 设置多个shell,以及开启shell模式
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 这个表示"C-c z"开启shell模式
(global-set-key (kbd "C-c z") 'shell)
;; <f10>重命名buffer
(global-set-key (kbd "<f10>") 'rename-buffer)
;; Shift + 向上的箭头 可以回到上面的一个窗口
;; Shift + 向下的箭头 可以回到下面的一个窗口
;; Shift + <- 可以回到左边的一个窗口
;; Shift + -> 可以回到右边的一个窗口
(when (fboundp 'winner-mode)
(winner-mode)
(windmove-default-keybindings))
现在,按住C-c
z
可以开启shell模式啦,按f10可以重命名buffer啦!
然后shift加上上下左右的箭头就可以实现窗口的切换啦!