pentadactyl - 将外部编辑器设置为 vim 终端

pentadactyl - 将外部编辑器设置为 vim 终端

有没有什么办法可以将 vim 终端设置为 pentadactyl 的外部编辑器?谢谢

我已经尝试过这个但是它似乎不起作用:

set editor='vim -f +<line> +"sil! call cursor(0, <column>)" <file>'

P/S:我的操作系统是 Mac

答案1

由于它vim是一个终端应用程序,因此它依赖于在终端内运行,以便显示其用户界面。然后,终端负责在您使用的桌面上下文中呈现所有这些内容。因此,您需要向此命令添加的只是终端调用。

以下是对我有用的方法。我使用的是 Debian 6 和 Gnome、FF20 以及夜间 Pentadactyl 版本(今天是 hg6923):

set editor='gnome-terminal -e "vim +<line> +\"sil! call cursor(0, <column>)\" <file>"'

你也可以(eek!)让它在 Windows 上运行,如下所示:

set editor='cmd /c vim +<line> +"sil! call cursor(0, <column>)" <file>'

我们必须添加额外的引号层才能将整个 vim 执行字符串传递到非 Windows 终端,但除此之外,它几乎是相同的命令。当您打开文件时,Vim 会自动移动到正确的文件、行和列。然后它会等到您退出 vim,如果您正在编辑输入字段,它会用新文本更新该字段。

不过,作为警告,文档确实表示某些终端可能存在问题:

:help faq-editor-fork

为什么外部输入字段编辑不能与我的“编辑器”设置一起使用?

不幸的是,不支持在编辑完成之前立即返回的外部编辑器。这意味着gvim,例如,必须使用-F标志,并且从终端运行的编辑器不得连接到远程进程。对于 Rxvt-unicode,这意味着该urxvtc程序不是一个选项,并且 Gnome Terminal 很可能在任何情况下都无法使用。

令人困惑的是,正如我们刚刚看到的,gnome-terminal 对我来说工作得很好。警告编辑器

相关内容