小编Wil*_*ker的帖子

用于在vim中用空格包围字符的命令

我正在尝试正确使用vim - 为了帮助我,我将箭头键映射到"",以便我被迫使用{hjlk}来移动.

当我想用空格包围一个字符时,这会导致我出现问题,例如:

"2 + 3"格式更好"2 + 3"

以前我会将光标放在+上并键入:

I [空间] [右箭头] [空间] [Esc]键

这是5台印刷机.

要在没有箭头的情况下执行此操作,我似乎需要将光标放在+上并继续:

I [空间] Esc键LLI [空格] [Esc]键

那是8台印刷机.

我可以将"li"转换为"a",将其减少到7个印刷机:

I [空间] [Esc键] LA [空格] [Esc]键

如果没有将其写入宏,有没有更好的方法呢?是否有一些神奇的vim命令允许我在少于5次按下的情况下执行此操作 - 以及某种方式来概括它以便我可以对整个单词或符号执行此操作,例如,如果我想将3 == 4转换为3 == 4?

vi vim

10
推荐指数
2
解决办法
2251
查看次数

如何将混合类型转换为对象类型

当我读取未知变量时,例如:req.body或者JSON.parse()知道它以某种方式格式化,例如:

type MyDataType = {
  key1: string,
  key2: Array<SomeOtherComplexDataType>
};
Run Code Online (Sandbox Code Playgroud)

我该如何转换它,以便以下工作:

function fn(x: MyDataType) {}
function (req, res) {
  res.send(
    fn(req.body)
  );
}
Run Code Online (Sandbox Code Playgroud)

它总是失败告诉我: req.body is mixed. This type is incompatible with object type MyDataType.

我认为这与动态类型测试有关,但要弄清楚如何...

express flowtype

5
推荐指数
1
解决办法
430
查看次数

仅从Javascript中捕获正则表达式的括号中获取内容

为什么

"$1 $2 $3".match(/\$(\d+)/g)
Run Code Online (Sandbox Code Playgroud)

返回

 ["$1", "$2", "$2"]
Run Code Online (Sandbox Code Playgroud)

不是

 ["1", "2", "3"]
Run Code Online (Sandbox Code Playgroud)

如果我删除全局标志,它将给我匹配和捕获的匹配:

["$1", "1"]
Run Code Online (Sandbox Code Playgroud)

但只有一个.

有没有办法做一个reg ex捕获不给我这个?

即使在$周围放置一个非捕获括号也会给出相同的结果,例如:

"$1 $2 $3".match(/(?:\$)(\d+)/g)
Run Code Online (Sandbox Code Playgroud)

javascript regex

3
推荐指数
1
解决办法
141
查看次数

标签 统计

express ×1

flowtype ×1

javascript ×1

regex ×1

vi ×1

vim ×1