在过去的几个月里,我有点疯狂地使用vim插件来控制chrome。我目前使用iTerm2,但我想知道是否有任何终端模拟器或shell使用vim命令或可以配置为具有类似vim的命令。
我最感兴趣的是从缓冲区中选择文本(可视模式),拖动它,并将其粘贴在下面的命令行中。如果能够使用j和k上下滚动缓冲区,并以插入模式编辑命令(目前必须使用箭头键)
,那就太好了。这样美丽的东西存在吗?
通过vim编辑和执行命令
-
打开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
和您回到提示符与您所做的编辑。
shell中的本地绑定
bash: set -o vi
bindkey -v
使用ESC或CTRL[]切换到正常模式,您可以像在vim中使用移动(ewbhjkl…)或使用v打开具有当前内容的vim。
贝壳尽力模仿这种行为。遗憾的是,除了输入时的输入变化之外,您没有任何视觉指示是否插入。
要永久拥有本机绑定,请根据所使用的shell将命令添加到~/.bashrc
或~/.zshrc
中。如果你只是想测试一下,直接在shell中输入这个,只是不要忘记新设置不会这样坚持。
如果你在windows上安装了shell(通过git的bash或cygwin),这也可以工作。
sass接近但缺少关键组件:
set -o vi
给你vim绑定
然后按v在vim
中编辑当前行鼠标几乎总是更有效地选择文本,vim或不vim,所以我们的鼠标。