标签: indentation

emacs:如何将 python 代码的区域缩进/取消缩进 4 个空格?

我在 emacs 中选择了一个 python 代码区域。将其中的每一行缩进和取消缩进 4 个空格的最有效方法是什么?

理想情况下,我想要一些不是上下文敏感的东西(例如,它允许我在缩进与 python 语法无关的文档字符串中缩进段落)。

我的模式行显示(Python). 在网上搜索我发现有很多关于使用python-mode而不是的讨论python,但我几天前才开始使用 emacs,所以我很担心在我有机会理解它们之前更改默认值。如果更改为python-mode最佳选择,我很乐意接受它作为答案。

我尝试过的(来自手册):

  • <TAB> 没有效果
  • C-M-\ 没有效果
  • C-x <TAB> (indent-rigidly) 将每一行缩进一列(并取消选择区域)
  • M-i 将第一行缩进一个制表符(长度为 8 个空格)
  • C-M-q - “CMq 未定义”

我发现的唯一方法是使用 regex-replace,但对于这样一个简单的任务,击键次数非常多。

keyboard-shortcuts text-editing python emacs indentation

61
推荐指数
3
解决办法
4万
查看次数

Sublime 2 文本编辑器中的自动缩进

Sublime 2 中是否有自动缩进选项?

在 Visual Studio 中,我可以按 Ctrl+K+D 来缩进所有内容,以便代码结构良好。Sublime 2 中有没有捷径可以做同样的事情?

indentation autoindent sublime-text-2

17
推荐指数
3
解决办法
3万
查看次数

如何使用 Emacs 显示垂直缩进标记?

我正在寻找一个 Emacs 包或配置,它可以用垂直线标记缩进,就像下面 Sublime Text 的屏幕截图中显示的那样:

崇高的文字 2

emacs indentation packages indent

14
推荐指数
1
解决办法
7542
查看次数

VisualStudio:自动将制表符变成空格

奇怪的是谷歌没有给出这个问题的答案:

我正在使用 Visual Studio 1.56.0(用户设置),并且希望配置编辑器以在按 Tab 键时输入适当数量的空格,而不是插入物理制表符。

我发现了一些关于这个主题的讨论,我发现的建议包括使用以下之一:

工具->选项->文本编辑器->所有语言->选项卡

首选项 -> 源代码 -> 代码格式

编辑->高级->设置缩进->空格

这些解决方案都不起作用,因为

  • 我没有看到名为“工具”的菜单(我只有文件、编辑、选择、查看、执行、运行、终端和帮助)

  • 我在“文件”菜单下有一个“首选项”项目,但这又没有一个名为“源代码”的条目。

  • “编辑”菜单下没有“高级”项。

(对我来说)找到此类选项的逻辑位置是文件/首选项/文本编辑器/格式,但该部分中没有制表符 - >空格选项。

更新,基于 harrymc 给出的答案:

我知道 Visual Studio Code(我使用的)是与 Visual Studio 不同的文本编辑器。

有趣的是,指向“用户和工作空间设置”的链接显示的屏幕截图看起来与我的 Visual Studio 代码显示的不同:在网站中,“设置”应可用于“用户”或“工作空间”(该名称中有两个选项卡可见)那边的屏幕截图),而在我的编辑器中,“设置”页面仅显示“用户”。但是我不认为这与我的问题有关,因为当我在这些用户设置中选择“常用”并向下滚动时,我确实看到一个名为Editor: Insert Spaces的配置项及其描述

按 T​​ab 时插入空格

这应该正是我正在寻找的选择。但是,它确实设置了复选标记,但我的文件仍然有制表符。

我注意到在这个设置旁边我们可以找到注释:当“编辑器:检测缩进”打开时,此设置将根据文件内容被覆盖。事实上,“检测缩进”也有一个复选标记,我取消了它。

我以为这应该解决问题,但事实并非如此。重复一遍:我知道有

Detect Indentation:  unchecked
Insert Spaces:  checked
Run Code Online (Sandbox Code Playgroud)

我现在创建了一个新文件并键入了一个制表符和一些其他字符,然后保存了该文件。我可以看到新文件中还有一个物理选项卡。

tabs indentation visual-studio-code

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

如何取消缩进代码?

我偶尔会意识到我需要在编码时删除一级缩进(例如将代码移出循环)。问题是我最终得到了一堆比我想要的缩进更多的行,按照我想要的方式缩进的唯一方法是手动删除所有制表符空间。

有没有办法自动执行此操作?我使用各种文本编辑器,例如 Geany、N++、gedit 和 Code::Blocks,所以我想要一个多程序解决方案。

notepad++ indentation c++ geany

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

重新缩进 shell 脚本

我有一个混合使用空格和制表符的大型 shell 脚本。我想根据语法重新缩进整个文件,比如 Eclipse 的格式。有没有程序(美化?)可以做到这一点?

我很难弄清楚所有东西都挤在一起的逻辑,例如

   if [ "$CANCELLATION" ]
   then
   while test $num -gt 0
    do
    if [ "$cjb" -gt 0 ]
Run Code Online (Sandbox Code Playgroud)

学习了如何在 Vim 中调用函数,但这不起作用。

Emacs - 丢失了所有换行符

linux indentation

11
推荐指数
2
解决办法
3万
查看次数

Vim 复制/粘贴弄乱了缩进

每当我从另一个应用程序复制某些内容然后将其粘贴到 vim 中时,它都会弄乱缩进。

例如,刚才我尝试从 hello-world 教程中复制 manifest.json 文件以创建 chrome 扩展。

它看起来像这样:

{
  "manifest_version": 2,

  "name": "One-click Kittens",
  "description": "This extension demonstrates a browser action with kittens.",
  "version": "1.0",

  "permissions": [
    "https://secure.flickr.com/"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我将它粘贴到 vim 中时,它看起来像这样: 在此处输入图片说明

我的vimrc如下:

"se t_Co=256
syntax enable

set nowrap
set mouse=a
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab 
set number
set showcmd
set cursorline
set showmatch

execute pathogen#infect()
"filetype plugin indent on

"folding settings
set foldmethod=indent   "fold based …
Run Code Online (Sandbox Code Playgroud)

clipboard vim indentation vimrc

11
推荐指数
2
解决办法
6722
查看次数

如何格式化具有长属性列表的 XML 文件?

我目前正在处理包含具有一长串属性的元素的 XML 文件。当我尝试xmllint --format myfile.xml仅使用缩进的元素重新缩进整个 XML 文件时,属性仍然保留在一行中。

是否有一些(命令行、Windows 或 GNU/Linux)程序支持重新格式化 XML,包括属性?

例如像这样的 XML:

<root>
  <node attribute1="some long attribute value" attribute2="some long attribute value" attribute3="..."/>
</root>
Run Code Online (Sandbox Code Playgroud)

应该输出类似于:

<root>
  <node attribute1="some long attribute value"
        attribute2="some long attribute value"
        attribute3="..."/>
</root>
Run Code Online (Sandbox Code Playgroud)

xml indentation command-line

8
推荐指数
1
解决办法
6101
查看次数

在 Notepad++ 中查找并替换:如何在上面的行中插入相同数量的缩进?

我需要在大量具有许多函数定义的Python文件中替换所有出现的

def some_func(foo, bar):
Run Code Online (Sandbox Code Playgroud)

@jit(parallel=True)
def some_func(foo, bar):
Run Code Online (Sandbox Code Playgroud)

无论缩进程度如何def some_func(foo, bar)

示例:我想更换

def some_func_1(foo, bar):

    def some_func_2(foo, bar):

        def some_func_3(foo, bar):

def some_func_4(foo, bar):
Run Code Online (Sandbox Code Playgroud)

@jit(parallel=True)
def some_func_1(foo, bar):

    @jit(parallel=True)
    def some_func_2(foo, bar):

        @jit(parallel=True)
        def some_func_3(foo, bar):

@jit(parallel=True)
def some_func_4(foo, bar):
Run Code Online (Sandbox Code Playgroud)

动机:我想“强力加速/并行化”FDTD 模拟包,而不必通过利用 的自动并行化来重写整个numba代码@jit

PS.:也欢迎对这种(ab)使用的幼稚方法提出任何评论/批评@jit(例如,如果这根本不起作用)!

regex tabs indentation find-and-replace indent

8
推荐指数
2
解决办法
2247
查看次数

如何改进 Adob​​e Brackets 自动缩进

我正在寻找一种使用 Adob​​e Brackets自动缩进我的代码的方法。

目前,当我选择了整个代码(Ctrl+ A),并使用使用内置的缩进选项Ctrl+ ]

整个文本向前移动一个选项卡。我正在寻找的是正确自动缩进代码,例如JSFiddleTidy Up选项的工作方式。


或者换句话说,我想要以下内容:

<html>
<head>
</head>
<body>
<div>
<span>
</span>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

成为:

<html>
  <head>
  </head>
  <body>
    <div>
      <span>
      </span>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

而不是简单地向前移动标签距离,例如:

    <html>
    <head>
    </head>
    <body>
    <div>
    <span>
    </span>
    </div>
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

我试过搜索并阅读首选项,但找不到办法做到这一点。有任何想法吗..?

html indentation autoindent brackets

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