![vi 和 emacs 编辑模式是什么意思](https://linux22.com/image/4660/vi%20%E5%92%8C%20emacs%20%E7%BC%96%E8%BE%91%E6%A8%A1%E5%BC%8F%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D.png)
“启用命令行编辑以及 vi 和 emacs 编辑模式”是什么意思?
我知道vi
它是一个编辑器并且也使用过它,但是它与命令行编辑有什么关系以及如何关系让我感到困惑。我基本上是在命令行模式下使用 bash shell 和 Red Hat 系统来学习。
答案1
Emacs 和 vi 编辑模式指的是命令行编辑如何与 Bourne Again Shell (bash) 一起使用。默认情况下,emacs 编辑模式有效,但您可以使用 更改此模式,set -o vi
然后使用 再次返回set -o emacs
。
例如,要移动到您正在编辑的当前命令行的末尾,您可以在 emacs 模式和vi 编辑模式下使用CTRL- 。E$
另请参阅man readline
其中告诉您一些有关在这一切背后工作的 readline 库的信息。
答案2
这是指使用哪些键来移动光标(并转到行首等)。
在vi
模式下使用h(左)、j(下)、k(上)、l(右)
在 'emacs 模式下使用Ctrl+ F(左)、 Ctrl+ N(下)、Ctrl+ P(上)、 Ctrl+ B(右)
答案3
其他答案都很好,但只是补充了一些背景:基本上,这是一种尝试,使命令行编辑符合人们从使用他们喜欢的编辑器中发展出来的反应——当时几乎总是会无论是 emacs 还是 vi,都有狂热的粉丝和批评者。
如今,键盘具有专用的 Home、End、光标、向上/向下翻页和插入/删除键,所有编辑器都或多或少地支持这些键,因此特定于编辑器的映射使用较少,并且此设置的重要性低于当时确实如此。