emacs插入4个空格和删除4个空格的快捷方式

emacs插入4个空格和删除4个空格的快捷方式,emacs,emacs23,Emacs,Emacs23,从Noob到emacs。我想在emacs中创建一个快捷方式,从当前光标位置插入4个空格,从当前光标位置删除4个空格。 可以将其映射到C>和C如果您确实想,您可以轻松地映射一个键或多个键以插入或删除空格,但这不是Emacs的方式。自定义c模式以按您希望的方式缩进,这样您就不必再手动调整缩进(当您查看其他人的代码并希望按您喜欢的方式重新缩进时,只需标记整个缓冲区并键入M-x缩进区域--哦,电源!) 通过添加数字前缀,您可以复制任意键任意次数: ESC <number> <key&

从Noob到emacs。我想在emacs中创建一个快捷方式,从当前光标位置插入4个空格,从当前光标位置删除4个空格。
可以将其映射到C>和C如果您确实想,您可以轻松地映射一个键或多个键以插入或删除空格,但这不是Emacs的方式。自定义c模式以按您希望的方式缩进,这样您就不必再手动调整缩进(当您查看其他人的代码并希望按您喜欢的方式重新缩进时,只需标记整个缓冲区并键入
M-x缩进区域
--哦,电源!)


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

ESC <number> <key>
或 ESC 4退格

如果要使其永久化,请为每个宏定义一个宏并命名,然后将其指定给击键。有关更多详细信息,请参见:

或者你做了一个函数,但我觉得这是一个过分的做法

-dmg



这是用于代码缩进的吗?有什么特别的语言吗?Emacs用户通常使用自动缩进,并根据需要对其进行配置,因此您可能不需要这样做。@phils是的,它用于代码缩进。我已经用linux风格设置了c模式。该选项卡仅在行首起作用,在我尝试对齐选项卡边界上的指定时不起作用:(另一方面,我曾尝试对齐代码块,但对齐对我来说很难看。显然不会影响
c-mode
,但请记住,语言对空格敏感,所以整个缓冲区上的
indent region
并不总是最好的主意。@Inaimathi:这一点很好。我对Haskell一无所知,但在python模式下
indent区域不会有任何好处,也可能有坏处,因为对于任何给定的行,可能有多个语法和语义上正确的缩进点。
C-u
也可以,如果你想让你的手更靠近主行。
C-
M-
,但我的印象是零一也可以g这太频繁了,不希望每次都提供一个参数。
 ESC 4 SPACE