在过去的几个月里,我使用像Vimium这样的插件来控制铬,这让我变得疯狂。我目前使用iTerm2,但我想知道是否有任何终端模拟器或shell使用vim命令或者可以配置为使用类似命令的vim。
我最感兴趣的是从缓冲区中选择文本(可视模式),对其进行处理,并将其粘贴到下面命令行的某处。能够使用 j 和 k 向上和向下滚动缓冲区,并使用插入模式编辑命令(当前必须使用箭头键)< / p>
这样美好的事物存在吗?
答案 0 :(得分:7)
打开vim,:r !history
(或其他),复制内容,然后通过:!<type your shell command here>
执行。使用最后一个命令:silent !<blah blah>
如果vim应该停止用你的消息来阻止你。
如果你坚持常规的emacs设置(如果你没有像我描述的那样更改任何一个shell中的模式,你实际上可以使用ctrl + a,ctrl + e等等!),你可能会尝试编写命令并在vim中通过 CTRL X CTRL E 进行编辑。
但这取决于通过EDITOR / VISUAL环境变量设置的编辑器,它告诉linux系统应该使用哪个编辑器!
如果你有一个使用+ clipboard或+ xterm_clipboard标志编译的vim,你可以粘贴内容!
:wq
并且您已经回复了您所做的编辑。
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,所以我们使用鼠标。