簡體   English   中英

支持混合空格和制表符的編輯器?

[英]Editor with support for mixed spaces and tabs?

是否有任何文本編輯器(適用於 Windows)能夠很好地支持混合空格和制表符,以及 C++/C#/Java 等語言(以及 Python/Ruby 等語言的加分點)?
即制表符將用於縮進,空格將用於alignment


例如,假設代表制表符, . 代表空格, 代表cursor的當前position。

如果我的文本編輯器中有以下內容:

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,
  → .........■
}

之后我應該能夠輸入下一個參數,關閉括號,然后按⏎ Enter ,並使用制表符/空格將 cursor 自動 go 返回到正確的 position,如下所示:

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% 的時間。

但我正在尋找希望有更強大支持的東西,對當前語言的詞法支持來弄清楚該怎么做。 畢竟,編輯器錯誤不應該比首先手動縮進更難修復——否則我只會手動做,而永遠不會使用該功能!

不確定這是否有資格成為答案。 但是,我的gvim和當前的 vimrc 完全符合您使用制表符和空格的要求。 我強烈推薦使用Gvim 這是個人選擇的問題,可能有更好或更差的編輯器。

您可以使用se syn=命令在 vim 上突出顯示任何語言

您找不到的是詞法分析支持或智能感知 - 至少以可用的方式。

看看截圖。 這是我改編的vimrc的鏈接。

編輯我真的懷疑是否存在可以這么說的編輯器烏托邦。 您可能必須根據“適合工作的正確工具”原則取得平衡。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM