【问题标题】:emacs shortcut to insert 4 space and remove 4 spaceemacs 插入 4 个空格和删除 4 个空格的快捷方式
【发布时间】:2013-04-29 23:59:33
【问题描述】:

emacs 新手。我想在 emacs 中创建一个快捷方式,从当前光标位置插入 4 个空格并从当前光标位置删除 4 个空格。 可以将其映射到 C > 和 C 有人可以帮我吗?

提前致谢

zer0 0ne

【问题讨论】:

  • 这是代码缩进吗?有什么特别的语言吗? Emacs 用户通常使用自动缩进,并对其进行配置以适应,因此您可能不需要这样做。
  • @phils 是的,它用于代码缩进。我已经将 c-mode 设置为 linux 风格。该选项卡仅在行首有效,当我尝试对齐选项卡边界上的分配时不起作用:( P.S.我尝试对齐以对齐代码块,但对齐对我来说很难看。

标签: emacs emacs23


【解决方案1】:

您可以通过添加数字前缀任意多次复制任何键:

ESC <number> <key>

所以你可以这样做:

 ESC 4 SPACE

或 ESC 4 退格键

如果您想使其永久化,请为每个宏定义并命名,然后将其分配给按键。有关详细信息,请参阅此内容:

http://emacswiki.org/emacs/KeyboardMacros

或者你做一个函数,但为此目的有点矫枉过正,我觉得。

-dmg


【讨论】:

  • C-u &lt;number&gt; &lt;key&gt; 也可以,如果你想让你的手更靠近主行。
  • C-&lt;number&gt; &lt;key&gt;M-&lt;number&gt; &lt;key&gt;,但我的印象是零一会经常这样做,以至于每次都不想提供参数。
【解决方案2】:

如果您真的想要,您可以轻松地映射一个或多个键来插入或删除空格,但这不是 Emacs 方式。自定义 c-mode 以按照您想要的方式缩进,然后您将永远不必再次手动调整缩进(当您查看其他人的代码并希望以您喜欢的方式重新缩进时,您只需标记整个缓冲区并输入M-x indent-region--哦,力量!)。

Emacs manual on customizing C mode

Emacs Wiki

【讨论】:

  • 显然不会影响c-mode,但请记住some 语言are 对空格敏感,因此整个缓冲区上的indent-region 并不总是最好的主意。跨度>
  • @Inaimathi:好点。我对 Haskell 一无所知,但在 python 模式下,indent-region 不会有任何好处并且可能会造成伤害,因为对于任何给定的行,可能有多个可能的语法和语义正确的缩进点。
猜你喜欢
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 2019-01-29
  • 2021-12-17
相关资源
最近更新 更多