Zed的缩进问题与元字符的烦恼

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

Image
大家好,我是无能。
我基本上是那种喜欢以标准方式使用标准事物的人,所以不想在.vimrc中写一堆乱七八糟的东西。这样一来,其他语言的自动缩进功能就变得相当麻烦,所以我最近开始使用Zed,但总觉得很奇怪。

这是怎么回事...?

总觉得与用zeditor打开时看到的世界大相径庭。我感到不舒服,于是进行了调查。

当我用 cat -A 查看时...

$ cat -A main.go 
package main$
$
import ($
^I"fmt"$
^I"net/http"$
^I"os"$
$
^I"golang.org/x/net/html"$
)$
$
func fetchOGP(url string) (siteName string, title string, err error) {$
^Iresp, err := http.Get(url)$
^Iif err != nil {$
^I^Ireturn "", "", fmt.Errorf("failed to fetch OGP URL: %w", err)$
^I}$
^Idefer resp.Body.Close()$
$
^Idoc, err := html.Parse(resp.Body)$
^Iif err != nil {$
^I^Ireturn "", "", fmt.Errorf("failed to parse HTML: %w", err)$
^I}$
$
^Ivar findOGP func(*html.Node)$
^IfindOGP = func(n *html.Node) {$
^I^Iif n.Type == html.ElementNode && n.Data == "meta" {$
^I^I^Ivar property, content string$
^I^I^Ifor _, attr := range n.Attr {$
^I^I^I^Iif attr.Key == "property" {$
^I^I^I^I^Iproperty = attr.Val$
^I^I^I^I} else if attr.Key == "content" {$
^I^I^I^I^Icontent = attr.Val$
^I^I^I^I}$
^I^I^I}$

嗯...?

虽然无计可施,但还是设法解决了,可是...

我尝试替换一次,然后再次用Zed保存。这样替换一次后...

sed "s/\t/  /g"

然后,用Zed保存后,再用cat -A查看一下...

$ cat -A main.go 
package main$
$
import ($
^I"fmt"$
^I"net/http"$
^I"os"$
$
^I"golang.org/x/net/html"$
)$
$
func fetchOGP(url string) (siteName string, title string, err error) {$
^Iresp, err := http.Get(url)$
^Iif err != nil {$
^I^Ireturn "", "", fmt.Errorf("failed to fetch OGP URL: %w", err)$
^I}$
^Idefer resp.Body.Close()$
$
^Idoc, err := html.Parse(resp.Body)$
^Iif err != nil {$
^I^Ireturn "", "", fmt.Errorf("failed to parse HTML: %w", err)$
^I}$
$
^Ivar findOGP func(*html.Node)$

啊啊啊啊啊啊啊啊啊啊
无法摆脱...

如果无论如何都想使用2空格缩进

在Zed的vim模式下执行:%s/\t/ /g后再:wq似乎没有意义

难道每次都要运行sed -i "s/\t/ /g,或者只能fork下来完全为自己重新构建吗...。
顺便一提,
Indentation conversion #4291
已经提出了转换的issue。
然后,在用sed全局替换一次制表符后,将~/.config/zed/settings.json设置为

  "useTabs": false,
  "hard_tabs": false,

这样设置的话,暂时可以避免。
但是,格式化程序生效的import语句似乎无论如何都会变成制表符。

咦?我原来那种喜欢以标准方式使用标准事物的性格呢?

我本来是这么想的,go fmt似乎能让缩进变得整洁,但它会自动变成制表符缩进。
如果这是标准推荐的,那么特意使用2空格缩进是不是愚蠢至极呢?

....
好像变得无所谓了...
那么,下次再见。
请多关照。

Related Posts