编辑器支持混合空格和制表符?

时间:2012-04-04 02:45:32

标签: c# java c++ windows text-editor

是否有任何文本编辑器(对于Windows)具有良好支持混合空格和制表符,适用于C ++ / C#/ Java等语言(以及Python的奖励积分) /红宝石/等)?
标签将用于缩进,空格将用于对齐


例如,假设表示标签,.表示空格,表示光标的当前位置。

如果我在文本编辑器中有以下内容:

template<class T1,
.........class T2>
class Foo
{
  → template<int M,
  → .........int N>
  → void foo(int bar,■
}

我希望能够按⏎Enter 键,并看到:

template<class T1,
.........class T2>
class Foo
{
  → template<int M,
  → .........int N>
  → void foo(int bar,
  → .........■
}

之后我应该能够输入下一个参数,关闭括号,然后按⏎输入,并使用标签/空格自动返回到正确的位置,如图所示:

template<class T1,
.........class T2>
class Foo
{
  → template<int M,
  → .........int N>
  → void foo(int bar,
  → .........int baz) {
  →  →  ■
}

当然,如果我按 Backspace 或Shift-Tab等等,它应该清除到适当的停止 - 这可能是与当前类型相同类型的缩进的开头一。还有那样的东西。

注意:

我意识到许多编辑器(SciTE,Visual Studio,可能还有Emacs,Vim等)可以用正则表达式(或原始解析代码)编写脚本来做一些有效的事情,哦,80 % 的时间。

但是我正在寻找一些希望更多强大的支持的东西,并且对当前语言提供了很好的支持以找出要做的事情。毕竟,编辑器错误不应该比首先手动缩进更难解决 - 否则我只是手动操作而不是使用该功能!

1 个答案:

答案 0 :(得分:1)

不确定这是否有资格成为答案。但是,使用当前vimrc的gvim与标签和空格完全相同。 我强烈建议您使用Gvim。这是个人选择的问题,可能会有更好或更差的编辑。

您可以使用se syn=命令

突出显示vim上的任何语言

你将找不到的是以可用的方式提供支持或智能 -

看看屏幕截图。以下是我已调整的vimrc链接。

编辑我真的怀疑是否有编辑乌托邦可以这么说。您可能必须根据“正确的工作工具”原则取得平衡。

enter image description here