首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash Vi命令行编辑中命令模式与插入模式的区别

Bash Vi命令行编辑中命令模式与插入模式的区别
EN

Stack Overflow用户
提问于 2011-10-25 19:12:05
回答 2查看 20.1K关注 0票数 62

当vi-mode中的bash切换到insert-mode时,我总是有点困惑,因为它没有给出任何关于使用模式(命令或编辑)的提示。有什么方法可以区分mods吗?可能是光标颜色的自动改变或类似的东西?

EN

回答 2

Stack Overflow用户

发布于 2017-02-08 16:06:31

基于@Isaac Hanson的回答,您可以通过在.inputrc中设置光标样式来反映模式(就像在VIM中一样)。

代码语言:javascript
复制
set editing-mode vi
set show-mode-in-prompt on
set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2

# optionally:
# switch to block cursor before executing a command
set keymap vi-insert
RETURN: "\e\n"

这将使您在插入模式下显示一个梁光标,或在普通模式下显示一个块光标。

其他选项(替换\e[后的数字):

代码语言:javascript
复制
        Ps = 0  -> blinking block.
        Ps = 1  -> blinking block (default).
        Ps = 2  -> steady block.
        Ps = 3  -> blinking underline.
        Ps = 4  -> steady underline.
        Ps = 5  -> blinking bar (xterm).
        Ps = 6  -> steady bar (xterm).

您的终端必须支持DECSCURSR (如xterm、urxvt、iTerm2)。TMUX也支持这些(如果您在tmux外部设置了TERM=xterm-256color )。

票数 54
EN

Stack Overflow用户

发布于 2011-11-22 03:15:19

在korn shell中使用vi模式多年之后,我基本上已经训练自己在键入任何命令之前只需点击ESC几次,然后点击ESC,然后点击i开始键入。

基本的前提是,如果你只是点击ESC,你就会确切地知道你所处的模式。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7888387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档