有没有一个Firefox插件可以使用vim编辑文本框?

70
或者“我如何在Firefox中使用gVim在文本框内回答SO上的问题?”

4
很抱歉,自Firefox 57版本(及以后),绝大部分(如果不是全部)当前的答案都已过时。 - j-i-l
wasavi是Andrea推荐的,它很好用,我刚刚测试过了。 - Yuri Pozniak
18个回答

46

It's All Text!

从扩展页面:

在任何编辑框的右下角会出现一个小的编辑按钮。点击它。如果这是您第一次使用 "It's All Text!",则会要求您设置偏好设置,最重要的是编辑器。

网页将弹出到您选择的编辑器中。当您保存它时,它将在网页中刷新。等待那个意味着辐射已经生效的魔法黄色光晕!


提醒其他人注意:在WinXP上将编辑器设置为gVim后,我遇到了“无法打开编辑器”的错误,这让我困惑了一段时间。事实证明,每次更改编辑器时都需要重新启动Firefox!话虽如此,这条评论是在“全部文本”中编写的!谢谢SO!:wq - user13060
如果这仍然是一个问题,请在http://trac.gerf.org/itsalltext报告它--谢谢! - docwhat
10
FF插件架构的更改,我们在一年前就已经得到了警告,并在57版中最终实施,这意味着It's All Text已经无法使用。开发者推荐使用"emacs chrome"或"GhostText",但它们都不是一个令人信服的替代品。Vimperator也因同样的原因而无法使用。 - Screenack
而且GhostText似乎只能在Linux上工作,而不能在Windows上(或者至少,在我发现它需要tcl shell和一些其他库之后,我放弃了...)。 - lukas
1
在Linux上,Textern似乎提供了相同的功能。https://addons.mozilla.org/en-US/firefox/addon/textern/ - codeDr

23

Vimperator 可以让Firefox表现得非常像VIM文本编辑器:

Vimperator是Firefox的免费浏览器插件,可以使其外观和行为类似于Vim文本编辑器。它具有类似的按键绑定,并且你可以将其称为模态Web浏览器,因为按键绑定根据所处的模式而异。

一旦你将光标放在文本框中,请按下Ctrl + I 打开编辑器,默认情况下为gvim。


Vimperator很棒!谢谢。不过,“It's all text”直接回答了问题。 - user13060
注意:Vimperator 将无法在 Firefox 57 中使用! - Rishabh Agrahari
不再支持。 - grzkv
对于一个今天可用的类似解决方案,您可以使用 Tridactyl,如我的回答所述:https://dev59.com/ZnVD5IYBdhLWcg3wI3-L#61411545 - David Gay

18
当前的答案已经过时了,因为Mozilla放弃了XUL而转向WebExtensions。在最新版本的Firefox中,有以下选项(按addons.mozilla.org上当前受欢迎程度降序排列)。 GhostText通过编辑器特定的插件提供即时同步编辑器和文本框。该项目在github上,vim扩展是用Tcl编写的。 withExEditor是跨平台的,但需要一个用node.js编写的本地应用程序。除了编辑文本字段外,它还允许查看页面源代码、MathML、SVG和当前选择。该项目在github上,本地node.js应用程序Textern需要一个(目前)仅在Linux上可用的用Python编写的本地应用程序。当您在编辑器中输入时,它会同步文本字段的内容。扩展和本地应用程序可以在github上找到。

我知道问题提到了vim,但值得注意的是,对于GhostText:sublime、vscode和atom是唯一支持的其他编辑器;没有emacs :( - Micah Elliott

8

Tridactyl 可能是您现在正在寻找的。

它是 Pentadactyl 和 Vimperator 的精神继承者,而这两个插件并不适用于当前版本的 Firefox。

如果您想要像 It's All Text 那样,在浏览器文本区域的正上方显示编辑区域,而不是启动一个编辑器窗口,并且您愿意使用 Neovim,请查看 firenvim


6

It's All Text!可以让你使用任何编辑器。要与vim一起使用,您需要一个小型shell脚本在终端中打开它:

#!/bin/sh
exec xterm -e /usr/bin/vim "$@"

如果你有GVim,你就不需要使用shell或脚本了。

6
ViewSourceWith 是另一个值得一看的插件。它支持不仅限于编辑框和文本。例如,您可以配置它在GIMP中打开图像。
我发现另一个有用的功能是它可以弹出一个对话框,显示页面上使用的所有js和css脚本。然后,您可以选择在首选编辑器中查看/编辑文件。
对于在SO上回答问题,您可能还需要获取Vim Markdown Syntax file

4

3
如果您使用 vimperator 并安装了 markdown 语法文件,在您的 .vimperatorrc 中添加以下实用行:
au LocationChange .* :set editor="gvim -f"
au LocationChange stackoverflow\.com :set editor="gvim -f -c 'set ft=mkd'"

这将告诉vim在你浏览stackoverflow.com时对markdown进行语法高亮,但在其他任何网站上都不会这样做。类似的技巧也适用于维基百科/mediawiki等网站。享受吧 :)

2

在Windows环境下使用Vimperator(我使用的是Vista系统),您可能需要双重转义gvim.exe的路径才能将其用作外部编辑器。单一转义无法正常工作,因为Vimperator会对其进行两次解除转义。例如:

:set editor="C:\\\\Program\\ Files\\ (x86)\\\\Vim\\\\vim72\\\\gvim.exe" -f

当你在文本框中时,按下Ctrl+I会打开gvim进行编辑。当你保存并退出后,它将更新文本框。

2
尝试使用wasavi扩展程序。您可能需要查看所有版本页面,确保尝试最新版本。(此答案的副本,请参见此答案。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接