如果没有在我的Linux系统上安装Emacs,Bash命令行编辑默认模式仍然是Emacs。在没有Emacs的情况下,这是如何工作的?
我试着搜索Bash源代码,但还是无法理解。Bash是否将Emacs集成在自己的内部?
$ set -o
allexport off
braceexpand on
emacs on
: :
vi off
xtrace off
我在使用sql*plus的同时,在linux下使用rlwrap实用程序进行命令行编辑。一切都很好,除了这个实用程序会回显我从键盘输入的每个命令。例如,假设我在提示符中键入以下语句:
SQL> select last_name from employees
相同的语句将在终端中再次重复,使输出如下所示:
SQL> select last_name from employees
select last_name from employees
然后,当我在下一行完成select语句时,输出将如下所示:
SQL> select last_name from employees
sel
我知道,在重新排列的时候,
set editing-mode vi
您可以将上述选项放在~/.inputrc,editing-mode由Readline记录为中。
editing-mode (emacs)控制读行是以一组类似于emacs或vi的键绑定开始的。editing-mode可以设置为emacs或vi。
还有,对于巴斯,
set -o vi
根据巴什文件
vi使用vi样式的行编辑接口.这也会影响用于读取-e的编辑界面。
Bash的-o vi除了设置适当的Readline模式之外,还会做其他事情吗?而且,如果您已经在您的~/.inputrc中设置了D18,那么这会有什么不同吗?
我有一个由windows系统生成的CSV文件。然后将该文件移动到linux。linux环境是NAME="Red Hat Enterprise Linux Server".VERSION="7.3 (Maipo)".ID="rhel“。
当我使用vi编辑器时,所有的字符都是可见的。例如,给出了一行:"Sarah--bitte nicht löschen“。
但是当我猫文件时,我得到类似于"Sarah--bitte nicht l▒schen“之类的东西。
此文件由数据存储应用程序使用,并且此unicode字符为"?“在数据存储中。由
我有一个包含ubuntu14.04的亚马逊ec2实例。我需要将本地机器上的win 7文本文件复制到ec2上的文本文件中。是否有一个文本编辑器来支持在ubuntu14.04中可用的剪切和粘贴,或者什么是将信息剪切并粘贴到linux文件中的最佳方法。我在amazon上创建了这个文件
$ vim text1.txt
为了实现vim主题读行,我看到了两个
set editing-mode vi
set keymap vi
我相信我理解editing-mode vi提供不同的VIM键映射来编辑和插入文本之类的功能。
set keymap vi与set editing-mode vi并列做什么?我能从中得到什么额外的好处?
<#>There是很多非常糟糕、过于复杂的答案。一些我不关心emacs (以任何方式)的命令,那些没有文档但与文档中的命令相同的命令,我的缺省值是什么(很明显,我正在试图更改它们)。
当我打开我的.zshrc时,我想在启动时自动在zsh中将vi设置为编辑模式(我使用的是oh- my -zsh),所以在我的shell开始时,我尝试了以下代码:
set -o vi
或
bindkey -v
但在shell中按enter键时,我无法进入vi模式。
如果我在shell中尝试了这两个命令中的一个,它就可以工作。
基本上,我希望zsh在vi编辑模式下启动。
有什么办法可以解决这个问题吗?
几天前,当我点击'CTRL+A‘时,我的ubuntu控制台开始打印'^A’,而不是像以前那样把光标移到行的开头。'CTRL+E‘也会出现同样的问题,而'CTRL+Arrow’快捷键的行为也应该是正确的。但是,如果我通过ssh登录到远程计算机,一切都会正常工作。不幸的是,我不记得任何可能触发这种行为的东西(我没有更改快捷方式,也没有修改我的'.bashrc‘文件,也没有更新系统)。
一些有用的信息:
我不使用或屏幕,或tmux或其他终端复用器;
joe@Zen:~$ lsb_release -a
No LSB modules are available.
显然,自从几周前bash v. 5(在Arch Linux和Debian Buster上见证)发布以来,在vi模式下调用编辑器的默认行为发生了变化。
set -o vi
v
bash 4.x和更早版本:弹出一个空的$EDITOR。
bash 5.x: $EDITOR将使用最后执行的命令打开(类似于fc命令)。
偶然打开命令行编辑器并剧烈地执行:q!,会导致重复执行最后一个命令。对于长期的vi模式成瘾者来说,这是意想不到的行为,违反了最低限度惊讶的原则.如何恢复到旧的空编辑器状态?