我使用 jEdit 作为文本编辑器,因为它是跨平台的,并且具有我需要的所有功能(Java 正则表达式、按键宏等)。但是,在新计算机上进行设置和同步设置(键盘绑定、文件保存选项等)很痛苦。
任何人都可以建议这样做的好方法吗?理想情况下,它应该在后台同步,可能会写入 Dropbox 文件夹。我已经查看了 jEdit 插件,但似乎没有任何内容。
谢谢!
我使用 jEdit 作为文本编辑器,因为它是跨平台的,并且具有我需要的所有功能(Java 正则表达式、按键宏等)。但是,在新计算机上进行设置和同步设置(键盘绑定、文件保存选项等)很痛苦。
任何人都可以建议这样做的好方法吗?理想情况下,它应该在后台同步,可能会写入 Dropbox 文件夹。我已经查看了 jEdit 插件,但似乎没有任何内容。
谢谢!
我使用以下宏来清理我的 jEdit 设置目录并将其压缩到我的 Mac 上的 Google Drive 目录:
void delete(String name) {
path = jEdit.getSettingsDirectory()+"/"+name;
VFS vfs = VFSManager.getVFSForPath(path);
session = vfs.createVFSSession(path,view);
vfs._delete(session, path, view);
if (session != null) vfs._endVFSSession(session,view);
}
runInSystemShell(view, "cd " + jEdit.getSettingsDirectory());
// clean up files
delete("abbrevs"); // I use SuperAbbrevs
delete("killring.xml");
delete("recent.xml");
delete("perspective.xml");
delete("activity.log");
delete("history");
delete("printspec");
delete("registers.xml");
delete("pluginMgr-Cached.xml.gz");
delete("macros" + File.separator + ".macroManagerCache"); // File.separator = System.getProperty("file.separator")
delete("server");
delete("jedit_quicknote.txt"); // or qn.txt
delete("mirrorList.xml"); // mirrorList can be updated by Options -> Plugin Manager
// clean up directories
delete("jars-cache");
delete("settings-backup");
delete("cache");
delete("DockableWindowManager");
delete("PluginManager.download");
delete("printspec");
runInSystemShell(view, "rm -f ~/Google\\ Drive/doc/jedit.zip; zip -r ~/Google\\ Drive/doc/jedit.zip * -x '*.DS_Store'");
然后我可以运行以下别名来解压缩其他机器上的设置:
alias je_sync="rm -rf ~/.jedit/*; unzip ~/Google\ Drive/doc/jedit.zip -d ~/.jedit/"
我知道没有内置或插件方式来同步 jEdit 设置。但是所有内容都应该存储在您的设置目录中。(“应该”,因为一些插件可能会在其他地方存储东西,特别是如果它使用设置和其他方式来做东西,比如 git 或 svn 将用户凭据存储在 ~/.subversion/ 等等。设置目录的位置取决于如果您不使用-settings
开关来启动 jEdit,则您正在使用 jEdit 的操作系统)。
因此,要同步设置,只需通过 Google Drive、Box、Dropbox 或其他任何方式同步设置目录即可。您甚至可以让 jEdit 通过-settings
开关直接使用这些目录,例如,如果您使用的操作系统不能正确支持 Windows 等符号链接。
但请注意,可能会出现严重问题或意外行为。例如。您还将同步最近的文件、最后一个窗口和对话框的位置、最后打开的文件等内容……
更重要的是,如果您在同一设置目录中运行两个实例,jEdit 目前的表现不太好,这肯定也会涵盖通过某种方式同步设置文件夹的情况。
如果您在同一台计算机上的同一设置目录中使用两个 jEdit 实例(不是 windows,真实实例,例如使用 -noserver 打开),则会发生一种情况,并且肯定也会发生在这样的同步目录中:
因此,如果 Z eg 是属性文件,则在此之后在实例 A 中所做的任何设置更改都将丢失并且不会保存。这发生在每个文件的基础上,取决于哪个实例在两个实例启动后首先写入某个文件,因此一些文件可能被实例 A 锁定,一些文件被实例 B 锁定,这可能会进一步增加混乱。
因此,如果您可以同步最近的文件、上次打开的文件以及其他包含路径的内容等等,并且您确保不会在同一设置目录中同时使用两个 jEdit 实例时间,可以只使用 Google Drive 之类的东西。