
Bash 环境
多数时候我们用的是 Bash, 比如个人的 Linux 不愿去定制,远程服务器的由不得你去定制,所以就从 Bash 说起。
默认键绑定
emacs, 操作是ctrl-x, ctrl-e在默认的 Bash 环境下,只要在命令行中按下
ctrl-x, ctrl-e就会把当前命令的内容调入到环境变量$EDITOR指示的编辑器(默认为 emacs)去编辑,编辑后保存退出就会立即执行。如果未安装
Emacs编辑器,在按下ctrl-x, ctrl-e会得到如下提示[vagrant@localhost ~]$
-bash: emacs: command not found如果希望使用
vi来编辑当前命令,就需要设置EDITOR环境变量,比如在.bashrc中加入export EDITOR=vi
那么在命令行中按下
ctrl-x, ctrl-e使用打开vi来编辑当前命令。注:Emacs 要用
ctrl-x, ctrl-c, 再回答y, 命令保存到临时文中; 而 vi 的相应操作是:wq, 至少这个操作上 vi 要简洁些。 Read More初衷只是为了记述一下在 Bash/Zsh 中怎么调用 Vi 编辑当前的命令,但一发挥便涉及到了 Bash/Zsh 的键绑定的话题,无法打住,只得另立新篇。这里也只说 Bash 的键绑定,不会有 Zsh 键绑定的内容。
什么是 Bash 的键绑定(keybing) 呢? 就是在 Bash 中的快捷键方案,即相当于某个 IDE 的快捷键配置,或者叫 Keymap。比如说 IntelliJ IDEA 中可选择的 Keymap 有 Eclipse, Emacs, JBuilder, Mac OS X, Mac OS X 10.5+, NetBean, Visual Studio, 以满足不同使用者的习惯。
相应的 Bash 也为我们提供了两种键绑定的方案,即 emacs(默认) 和 vi 键绑定类型。
Emacs 键绑定
我们大多数天天在 Bash 下无意识中使用着 Emacs 键绑定类型,即使可能从未用过 Emacs 本身。比如我们在 Bash 下的按键组合
ctrl + a 跳到命令行的开始
ctrl + e 跳到命令行末尾
!! 重复最后一个命令
ctrl + l 清屏操作,类似于 clear 命令
ctrl + c 中断/杀掉当前运行的进程 (SIGINT)
ctrl + d 发送 EOF 标记,这会关掉当前的 shell (EXIT)
ctrl + z 发送 SIGTSTP 给当前任务,使其挂起送到后台。(所以如果 vi 未正常退出,而是按 ctrl + z 的话,vi 进程还呆在后台它们都是来自于 Emacs 键绑定。是不是那么的熟悉啊? Read More
- Emacs 默认的样子总觉不怎么可爱,所以想要找个主题来装饰一番。试过 http://www.emacswiki.org/emacs/ColorTheme 介绍的办法,从这里下载 http://www.nongnu.org/color-theme 主题文件,并且在 ~/.emacs 中添加了以下几句话:
(require 'color-theme)
重启 Emacs 后不能发现界面有变化,但是在 Emacs 中可以用
(color-theme-initialize)
(color-theme-robin-hood)M-x color-theme-select看到装载进来的主题,M-x color-theme-hober执行后也能看到应用上了这个主题,就是无法持久到下次 Emacs 运行。再次试验了ColorTheme 提到的多种方法都不奏效。
好像是因为我安装的是 Emacs 24 的版本,它有自己的默认主题deftheme, 和其他备选主题,M-x customize-themes可以看到下面这样的界面 Read More - 【注意:位于【】之间的内容是译注,比如本行,下同。】
Emacs 键盘命令通常包含 CONTROL 键(有时候以 CTRL 或 CTL 来标示)和META 键(有时候用 EDIT 或 ALT 来标示)。为了避免每次都要写出全名,我们约定使用下述缩写:
C-<chr> 表示当输入字符 <chr> 时按住 CONTROL 键。
因此 C-f 就表示:按住 CONTROL 键再输入 f。
M-<chr> 表示当输入字符 <chr> 时按住 META(或 EDIT 或 ALT)键。
如果你的键盘上没有 META 、EDIT 或 ALT 键,用下述方法也等效:
先按一下 ESC 键然后放开,再输入 <chr>。我们用 <ESC> 来表示 ESC 键。
重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。下文中左边顶行的“>>”字样用来提示你尝试键盘命令。比如:
>> 现在输入 C-v (查看下一屏文字)移动到下一屏。 Read More - 1. 总体说明
M 键的替代,如 M-v,表示按住 META(EDIT 或 ALT 键),再按 v。如果没有 META、EDIT 或 ALT 键,则先按下 ESC 键,然后放开,再输入 v。好在我们的键盘一般都有 ALT 键,那就是 ALT-v 吧。
查看命令帮助的方法:C-h k C-f 就能在下方窗口中看到 C-f 的使用说明
如果一行超过窗口的宽度,换行时会有反斜杠(控制台下),或转弯箭头(图形系统)标示出。
2. C-x 系列操作
这个系列的命令多与 “窗格、文件、缓冲" 的控制操作有关。
后再加
C-c 退出 C-s(save) 保存
3. 光标的移动
C-v(助记:Move) 下移一屏,M-v 上移一屏,C-l(助记:load/Reload) 重绘屏幕,并将光标置于屏幕中央,也可以用 PageDown 和 PageUp 的滚屏。 Read More - 1. Vi 中执行系统命令
命令模式下用 ! (Shell 命令),如
:! perl test.pl
2. Vi 中拷贝、剪切、粘贴操作
v(逐字符)或V(逐行)进入可视模式(Visual mode),然后用方向键或hjkl等移动命令就可以选择了.
拷贝: 选择完后按y;剪切: 选择完后按d;粘贴: 移动到合适的地方, 按 p, 也可以用 P
3. 控制台下的 Emacs 支持语法加亮
在 ~/.emacs 文件(没有该文件则新建一个) 中加上
(global-font-lock-mode t)
或者你进一 Emacs 中执行 M-x global-font-lock-mode 也能看到语法加亮的效果
有说在 ~/.emacs 中加上这个定制变量的 Read More