Editor with support for mixed spaces and tabs?
是否有任何文本编辑器(适用于Windows)对混合空格和制表符以及对C / C#/ Java(以及Python / Ruby /等附加点)提供良好的支持?
即,制表符将用于缩进,空格将用于对齐。
例如,假设
如果我的文本编辑器中包含以下内容:
1 2 3 4 5 6 7 8 | template<class T1, .........class T2> class Foo { → template<int M, → .........int N> → void foo(int bar, } |
我希望能够按? Enter密钥,请参见:
1 2 3 4 5 6 7 8 9 | template<class T1, .........class T2> class Foo { → template<int M, → .........int N> → void foo(int bar, → ......... } |
在那之后我应该能够键入下一个参数,关闭括号,然后按? Enter,然后使用制表符/空格使光标自动返回正确的位置,如下所示:
1 2 3 4 5 6 7 8 9 10 | 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%的时间内完成某些工作。 >
但我正在寻找一种希望得到更强大支持的东西,并为当前语言提供词法支持以弄清楚该怎么做。毕竟,编辑错误应该比首先手动缩进更容易解决-否则,我会手动代替它,而永远不要使用该功能!
不确定这是否可以作为答案。但是,我的带有当前vimrc的gvim确实可以满足您使用制表符和空格的需求。
我强烈建议使用Gvim。这是个人选择的问题,编辑的好坏可能会有所不同。
您可以使用
在vim上突出显示任何语言。
您找不到的是词法支持或智能感知-以可用的方式出租。
看一下屏幕截图。这是我改编的vimrc的链接。
EDIT我真的很怀疑是否有编辑乌托邦可以这么说。您可能必须基于"正确的工作工具"原则来取得平衡。