所有程序中的所有文本字段均可使用类似 Vim 的键盘输入

所有程序中的所有文本字段均可使用类似 Vim 的键盘输入

所以,我沉迷于 vim,当我尝试使用 vim 命令但又不在 vim 中时,经常会在常规文本字段中添加大量垃圾。我心想,为什么 vim 不能无处不在?!

然后我突然想到。为什么不呢?有没有人写过一个程序,可以将输入/当前文本字段重定向到 vim 缓冲区,以便人们可以在终端和 gVim 之外的东西上使用 vim 样式的编辑?重定向键盘输入?更改键盘记录器?

有什么想法可以做到吗?$wdw thoughtsA我又做了一次。我需要真正的帮助。有人有什么想法吗?

更新:需要更多。我刚收到一封电子邮件,内容如下:

校园图书管理员将很乐意与教师和学生合作,寻找替代的高质量科学新闻报道和分析来源。

--Karen
:r 签名

很高兴知道还有其他人。

答案1

我用vi式编辑bash毒蛇用于使用 Firefox 浏览网页(遗憾的是没有:vsplit)。在 Firefox 中,全部都是文字!配置使用的插件gvim使输入框(喜欢这个)不那么糟糕。毫无问题地mutt接收我$EDITOR(告诉Karen也设置那个变量)。

我想这就是我在外面所做的一切vim

答案2

我还没有看到任何允许这样做的东西,但听起来可以通过编写一个模块插入 IM 来处理,例如南卡罗来纳大学或者总线

答案3

这并不是你想要的,但我也经历过对 vim 键绑定的渴望。我使用的一个解决方案是触摸光标,我将其映射为我的主行键允许我导航光标。默认排列方式与 vim 不同,但您可以轻松更改。可能需要一些时间来适应按住空格键来实现和弦,但我发现这很自然。

以下是一些提供特定应用解决方案的其他程序:我使用维耶穆,它在 Visual Studio 2005/2008、Outlook 和 Word 中提供了 vim 模拟层。

还有一个新的 chrome 扩展,它添加了类似 vim 的浏览键绑定,称为维美拉

答案4

我还没有找到方法,但使用xclip脚本至少可以加快复制-粘贴-编辑-粘贴的循环。它会粘贴到临时文件中,然后使用 Vim 进行编辑:

#!/bin/bash

# Dependencies: xclip, gvim

# Create an "ephemeral" file, that disappears with this process
tmpfile=$(mktemp /tmp/vim-edit-clipboard.XXXXXX)
exec 3>"$tmpfile"
rm $tmpfile

# It's unlinked, but can be referred to by other processes using /proc
ephemeral_path=/proc/$$/fd/3

# Paste to the file
xclip -selection clipboard -o > $ephemeral_path
# Edit it. Make Vim respect the presence or lack of EOL at EOF
gvim --nofork -c 'set nofixeol' $ephemeral_path
# Then copy it to the clipboard, removing the newline at the end
xclip -selection clipboard < $ephemeral_path

您可能需要为该脚本分配一个键盘快捷键,以便您可以执行类似以下操作CtrlACtrlCSuperC

相关内容