所以,我沉迷于 vim,当我尝试使用 vim 命令但又不在 vim 中时,经常会在常规文本字段中添加大量垃圾。我心想,为什么 vim 不能无处不在?!
然后我突然想到。为什么不呢?有没有人写过一个程序,可以将输入/当前文本字段重定向到 vim 缓冲区,以便人们可以在终端和 gVim 之外的东西上使用 vim 样式的编辑?重定向键盘输入?更改键盘记录器?
有什么想法可以做到吗?$wdw thoughtsA我又做了一次。我需要真正的帮助。有人有什么想法吗?
更新:需要更多。我刚收到一封电子邮件,内容如下:
校园图书管理员将很乐意与教师和学生合作,寻找替代的高质量科学新闻报道和分析来源。
--Karen
:r 签名
很高兴知道还有其他人。
答案1
答案2
答案3
答案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
您可能需要为该脚本分配一个键盘快捷键,以便您可以执行类似以下操作CtrlA:CtrlCSuperC