小编Kri*_*fer的帖子

像nerdtree插件一样切换neovim终端缓冲区

因为我们可以选择在 neovim 缓冲区内有一个终端。我非常希望有一种方法来“切换”包含终端的缓冲区,并将其显示在固定位置,例如屏幕底部。

我知道 nerdtree 为我做这件事,它通过键绑定切换总是出现在我的屏幕左侧。我希望与neovim中的终端缓冲区相同。有没有人知道这样的插件或者我将如何创建一个插件?

vim-plugin nerdtree neovim

4
推荐指数
1
解决办法
3066
查看次数

有什么方法可以指定依赖项的多个版本对我的库有效?

我正在使用一个库,它会根据我使用的其他板条箱而中断。解决方法是降级一些依赖项并保留库的本地版本。

如果我把MyLibraryDep = {version = "*"}我的Cargo.toml. 由于 Cargo 将自动修复依赖关系,但 crates.io 不允许这样做。

例子:

  • 如果使用MyLibrary,LibraryA我必须MyLibraryDep v0.1.0使用MyLibrary

  • 如果使用MyLibrary,LibraryB我必须MyLibraryDep v0.2.0使用MyLibrary

rust rust-cargo

2
推荐指数
1
解决办法
338
查看次数

是否有一些语法糖用于在深层嵌套的Option和Result链上进行匹配?

我发出的回调Option包含一个Result包含另一个Option包含自定义变体的调用.
我只对这样的特定变量结果链感兴趣:

if let Some(Ok(Some(CustomVariant(Some(value))))) = expr {
    // handle value case
}
Run Code Online (Sandbox Code Playgroud)

这变得非常冗长,并没有真正的帮助,因为我实际上将它视为Result我所有代码中的单个.我可以以某种方式为这段代码添加别名,这样我就可以做类似的事情而不是编写整个Options和Results 链:

alias TheCase(value) = Some(Ok(Some(CustomVariant(Some(value))));
if let TheCase(value) = expr {
    //handle value
}
Run Code Online (Sandbox Code Playgroud)

syntax rust

0
推荐指数
1
解决办法
71
查看次数

标签 统计

rust ×2

neovim ×1

nerdtree ×1

rust-cargo ×1

syntax ×1

vim-plugin ×1