具有类似vim命令的终端仿真器或shell

时间:2013-02-27 19:57:13

标签: vim terminal terminal-emulator

在过去的几个月里,我使用像Vimium这样的插件来控制铬,这让我变得疯狂。我目前使用iTerm2,但我想知道是否有任何终端模拟器或shell使用vim命令或者可以配置为使用类似命令的vim。

我最感兴趣的是从缓冲区中选择文本(可视模式),对其进行处理,并将其粘贴到下面命令行的某处。能够使用 j k 向上和向下滚动缓冲区,并使用插入模式编辑命令(当前必须使用箭头键)< / p>

这样美好的事物存在吗?

2 个答案:

答案 0 :(得分:7)

通过vim编辑和执行命令

  1. 打开vim,:r !history(或其他),复制内容,然后通过:!<type your shell command here>执行。使用最后一个命令:silent !<blah blah>如果vim应该停止用你的消息来阻止你。

  2. 如果你坚持常规的emacs设置(如果你没有像我描述的那样更改任何一个shell中的模式,你实际上可以使用ctrl + a,ctrl + e等等!),你可能会尝试编写命令并在vim中通过 CTRL X CTRL E 进行编辑。
    但这取决于通过EDITOR / VISUAL环境变量设置的编辑器,它告诉linux系统应该使用哪个编辑器!

    如果你有一个使用+ clipboard或+ xterm_clipboard标志编译的vim,你可以粘贴内容!
    :wq并且您已经回复了您所做的编辑。



  3. shell中的本机绑定

    bash set -o vi

    zsh bindkey -v

    使用 ESC CTRL [切换到正常模式,您可以像在vim中一样使用移动( e w b h j k l .. 。)或使用 v 打开包含当前内容的vim。

    shell会尽力模仿行为。可悲的是,除了键入时输入发生变化外,你没有插入视觉指示器。

    要永久保留本机绑定,请将命令添加到~/.bashrc~/.zshrc,具体取决于您使用的shell。如果您只是想测试一下,请直接在外壳上输入,不要忘记新设置不会这样.③ 如果你安装了一个shell(通过git的bash或者通过cygwin,它也适用于Windows)。

答案 1 :(得分:4)

sjas很接近但缺少关键组件:

set -o vi为您提供vim绑定

然后按 v 编辑vim中的当前行

鼠标几乎总是更有效地选择文本,vim或没有vim,所以我们使用鼠标。