这是通过vi在编辑器中编辑命令行时bash中的bug,还是预期的行为?

问题描述 投票:2回答:1

我在~/.inputrc文件中有此设置:

set editing-mode vi

但是如果有的话,行为是相同的

set -o vi

在`〜/ .bashrc中。另外我也有

export VISUAL=vim
export EDITOR="$VISUAL"

在后一个文件中。

我观察到的越野车行为可复制如下:

  1. 在命令行中输入有效的更改目录命令,例如cd existingFolder
  2. Escape退出插入模式并进入普通模式,
  3. v打开vi / vim
  4. 通过 w q Enter
  5. 接受命令

结果:当前目录已更改,但提示(如果它显示当前目录)尚未更新以反映其更改。

这是错误还是预期的行为?

截屏视频胜于一千个单词:

asciicast

bash vim vi cd
1个回答
4
投票

这独立于vimvi或bash的vi模式发生。

MCVE是这个:

$ cd /usr && env -i EDITOR='touch' PS1='\w \$ ' bash --norc
/usr $ cd bin   # press Ctrl-X Ctrl-E instead of Enter here
cd bin
/usr $ pwd      # Bug visible here, prompt should say `/usr/bin`
/usr/bin
/usr/bin $      # Prompt now showing expected value

提示更新失败,并且不执行PROMPT_COMMAND。 2020-02-07的上游git commit 6c6454cb1显示相同的行为。

所以回答这个问题,是的,看起来像个错误。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.