我开始使用gvim,我不太明白gvim中的多行编辑是如何工作的.
例如:
原文:
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
Run Code Online (Sandbox Code Playgroud)
ctrl + q,jjjjjj,$ everything被选中,然后我按I进行多行插入.
我的意图是在第一行插入引号,然后按Esc:
asd "asd asd" asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
Run Code Online (Sandbox Code Playgroud)
发生了什么?我期望一种类似于sublimetext的行为:

如果你不知道它是如何工作的,它只是重复每一行的动作.怎么能实现呢?vim在这做什么?
我试图在linux + node.js中使用沙盒模块运行不受信任的javascript代码,但它已经坏了,我只需要让用户编写打印出一些文本的javascript程序.不允许其他i/o,只使用普通的javascript,没有其他节点模块.如果不是真的可以这样做,你建议用什么其他语言来完成这项任务?我需要的最小特征集是一些数学,正则表达式,字符串操作和基本的JSON函数.脚本将运行让我们说5秒钟顶部,然后该过程将被杀死,我怎么能实现这一点?
我有一个算法,它选择一个3d数组中的单元格,然后读取或写入数据,这是对另一个3d数组的引用.将其视为"我的世界"算法.问题是我不知道如何在Perl中创建一个像这样工作的数据结构:@ 3darray(x,y,z)= value你能帮助我吗?
我有一个问题反序列化具有此结构的元素列表中的列表:
<Level>
<Stage>
<Sets>
<Set></Set>
<Set></Set>
</Sets>
</Stage>
<Stage>
<Sets>
<Set></Set>
<Set></Set>
</Sets>
</Stage>
</Level>
Run Code Online (Sandbox Code Playgroud)
我目前的代码是这样的:
public class Level{
[XmlElement(ElementName="Stage")]
public List<Stage> Stages = new List<Stage>();
}
public class Stage{
[XmlAttribute("label")]
public string label {get;set;}
[XmlAttribute("pack")]
public string pack {get;set;}
[XmlElement(ElementName = "Sets")]
public List<Set> Sets = new List<Set>();
}
public class Set{
[XmlAttribute("pick")]
public string pick {get;set;}
[XmlAttribute("type")]
public string type {get;set;}
[XmlAttribute("count")]
public int count {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我正在测试这个示例文档:
<?xml version="1.0"?>
<Level>
<Stage id="0" label="Debug Stage 1" pack="debugpack">
<Sets …Run Code Online (Sandbox Code Playgroud) arrays ×1
c# ×1
javascript ×1
linux ×1
node.js ×1
perl ×1
sublimetext ×1
text-editor ×1
vim ×1
xml ×1