我如何将像上/下控制之类的emacs添加到vscode?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何将像上/下控制之类的emacs添加到vscode?相关的知识,希望对你有一定的参考价值。

在emacs中,如果您按上移或下移,则跳过一组代码,而不是一行代码。这是一个示例,其中控制权下并且|作为光标

|
foo         foo
bar    ->   bar
baz         baz
            |

但是,在vscode中,如果您执行相同的操作,则整个屏幕将向上或向下移动一行。如何添加像滚动一样的emacs?这是我喜欢在屏幕上移动的主要方式。我尚未找到任何具有此功能的现有扩展程序

答案

这非常接近。您将需要进行扩展。 Select By-它也会移动一个可以由正则表达式确定的量。

在您的settings.json中:

"moveby.revealType": "InCenter",

"selectby.regexes": {

  "goToEmptyLine": {
    "flags": "m",                // must use the "m" multiline flag for this regex
    "moveby": "^\s*$\r?\n",   // an "empty" line, it may have spaces or tabs in it

    // "forward": "(^\s*$\r?\n)",
    // "backward": "^\s*$\r?\n"      
  }
}

以及在您的keybindings.json中:

{
  "key": "ctrl+up",
  "when": "editorTextFocus",
  "command": "moveby.regex",
  "args": ["goToEmptyLine", "moveby", "prev", "start"]
},

{
  "key": "ctrl+down",
  "when": "editorTextFocus",
  "command": "moveby.regex",
  "args": ["goToEmptyLine", "moveby", "next", "start"]
},

在向上方向上,它确实跳过了连续的空行,但在向下方向上没有,它在文本之后立即停止,但是下面有更多的空行,但是确实跳过了它们移动到下一个向下的目标。

最后一点可能可以使用其他正则表达式解决(您可以为前进和后退设置不同的正则表达式)。但是呈现的内容非常接近您想要的内容。

以上是关于我如何将像上/下控制之类的emacs添加到vscode?的主要内容,如果未能解决你的问题,请参考以下文章

默认情况下,使emacs以控制台模式(-nw)运行

Emacs使用projectile-rails 插件注意事项

vsco 媒体不可用

暂时禁止在 Emacs 中添加新行

Emacs 光标控制

如何在 emacs 中创建一个空文件?