13

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

我最感兴趣的是从缓冲区中选择文本(可视模式),将其拉出,然后将其粘贴到下面命令行的某个位置。能够使用 and 向上和向下滚动缓冲区jk使用插入模式编辑命令(目前必须使用箭头键)会很好

有这么美的东西吗?

4

2 回答 2

11

通过vim编辑和执行命令

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

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

    如果您有使用 +clipboard 或 +xterm_clipboard 标志编译的 vim,您可以在此处粘贴内容!
    :wq并且您将返回到提示您所做的编辑。



shell 中的本机绑定

重击set -o vi

zshbindkey -v

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

贝壳会尽力模仿这种行为。遗憾的是,无论您是否插入,您都没有视觉指示器,除了您键入时输入会发生变化。

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

于 2013-02-27T20:28:17.867 回答
4

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

set -o vi给你 vim 绑定

then press v to edit your current line in vim

the mouse is almost always more efficient for selecting text, vim or no vim, so us the mouse for that.

于 2013-02-27T20:32:09.160 回答