在过去的几个月里,我有点像 vim 一样疯狂,使用像 Vimium 这样的插件来控制 chrome。我目前使用 iTerm2,但我想知道是否有任何终端仿真器或 shell 使用 vim 命令或者可以配置为具有类似 vim 的命令。
我最感兴趣的是从缓冲区中选择文本(可视模式),将其拉出,然后将其粘贴到下面命令行的某个位置。能够使用 and 向上和向下滚动缓冲区j并k使用插入模式编辑命令(目前必须使用箭头键)会很好
有这么美的东西吗?
在过去的几个月里,我有点像 vim 一样疯狂,使用像 Vimium 这样的插件来控制 chrome。我目前使用 iTerm2,但我想知道是否有任何终端仿真器或 shell 使用 vim 命令或者可以配置为具有类似 vim 的命令。
我最感兴趣的是从缓冲区中选择文本(可视模式),将其拉出,然后将其粘贴到下面命令行的某个位置。能够使用 and 向上和向下滚动缓冲区j并k使用插入模式编辑命令(目前必须使用箭头键)会很好
有这么美的东西吗?
打开 vim,:r !history
(或其他),复制内容并通过:!<type your shell command here>
. :silent !<blah blah>
如果 vim 之后应该停止用消息骚扰你,请使用最后一个命令。
如果你坚持常规的 emacs 设置(如果你没有像我描述的那样在任何一个 shell 中改变模式,你实际上可以使用 ctrl+a、ctrl+e 等等!),你可以尝试编写你的命令并编辑它在 vim 中通过CTRLXCTRLE.
然而,这取决于通过 EDITOR / VISUAL 环境变量设置的编辑器,它告诉 linux 系统通常应该使用哪个编辑器!
如果您有使用 +clipboard 或 +xterm_clipboard 标志编译的 vim,您可以在此处粘贴内容!
:wq
并且您将返回到提示您所做的编辑。
重击:set -o vi
zsh:bindkey -v
ESC使用或切换到正常模式CTRL[,您可以使用 vim ( e w b h j k l...) 中的移动或使用 . 打开具有当前内容的 vim v。
贝壳会尽力模仿这种行为。遗憾的是,无论您是否插入,您都没有视觉指示器,除了您键入时输入会发生变化。
要永久拥有本机绑定,请将命令添加到~/.bashrc
或~/.zshrc
中,具体取决于您使用的 shell。如果你只是想测试一下,直接在shell上输入这个,只是不要忘记新设置不会这样。
如果您安装了 shell(无论是通过 git 的 bash 还是通过 cygwin),这也适用于 Windows。
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.