EDITOR 变量功能真的适用于 Windows 7 吗?
我正在阅读一篇文章,说一旦我们设置了 EDITOR 变量
在 .mongorc.js 中,我们只需在 shell 中输入:edit var_name
var_name 将加载到编辑器中(在我的例子中是 UltraEdit)
用于编辑。完成更改后,我们可以
保存并退出编辑器;然后变量将被解析
并加载回 shell。 粗斜体部分
对我不起作用。
它所做的只是让我在桌面上保存一些 js 文件?!
有什么想法吗?
编辑:
我注意到如果我将它设置为记事本(“notepad.exe”),
它工作正常。但是如果我将它设置为 UltraEdit ("uedit32.exe"),
它并不像人们期望的那样工作。
最佳答案
EDITOR 环境变量适用于 Windows,但看起来有一些因素会影响 MongoDB 2.4 的可用性。
当您使用edit 命令时,mongo shell 会写入一个临时JavaScript 文件,其中包含该变量的内容和launches the external editor。使用此文件路径。然后 shell session 等待编辑器退出并检查返回代码。
这在以下情况下效果不佳:
外部编辑器有一个多文档界面,并且已经有其他文档打开了
外部编辑器没有返回预期的 0(无错误)返回码
EDITOR 设置仅限于使用单一文档编辑器。虽然 notepad.exe 可以工作,但可能有一个功能更强大的编辑器,其中包括 JavaScript 语法高亮显示。
如果您正在开发复杂的 JavaScript 函数,您可能希望将它们放在外部文件中。您可以使用 load("/path/to/file.js")将最新版本的 JS 文件重新加载到 shell 中。
UltraEdit 有一些额外的用户体验问题(我用 UltraEdit V20 测试过):
(运气好)如果在从 mongo shell 调用 edit 之前没有打开 UltraEdit 并且不要打开任何额外的选项卡,它将用作外部编辑器。您应该能够从 mongo shell 中成功使用 edit 来启动 UltraEdit,编辑变量,并在关闭 UltraEdit 时查看保存的结果。 UltraEdit 提示将更新后的 JS 文件保存在同一位置。
(不起作用)如果 UltraEdit 已经打开 并且有其他文档选项卡,它会有不同的行为。 mongo shell 中的edit 命令将打开一个新选项卡,但是当您关闭此选项卡(以保存更改)时,UltraEdit 会提示“另存为”对话框。 UltraEdit 保存了 JS 文件,但显然没有返回预期的退出代码,因此 mongo shell 不知道 JS 文件已经更新,应该重新加载。
编辑:感谢 UltraEdit 专家的建议,我找到了使 UltraEdit 工作良好的配置设置:
启用“单独进程”设置后,您现在应该能够将 UltraEdit 用作外部 EDITOR,并在关闭从 mongo<> shell 。
关于MongoDB - 编辑器变量 - MongoDB shell - Windows 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467138/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal