Zed के इंडेंटेशन में अजीबपन और मेटाकैरेक्टर की उदासी

5 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 करना होगा, या फिर इसे फोर्क करके पूरी तरह से अपने लिए फिर से बनाना होगा...
फिलहाल,
Indentation conversion #4291
इंडेंटेशन बदलने के लिए एक इश्यू मौजूद है।
और, एक बार सभी टैब वर्णों को sed से बदलने के बाद, ~/.config/zed/settings.json को

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

इस तरह से सेट करने पर, आप फिलहाल इससे बच सकते हैं।
लेकिन, import स्टेटमेंट, जहाँ फ़ॉर्मेटर प्रभावी होता है, अनिवार्य रूप से टैब बन जाते हैं।

अरे? मेरी मूल रूप से मानक चीज़ों को मानक तरीके से उपयोग करने की आदत का क्या हुआ?

मैंने सोचा था कि go fmt से इंडेंटेशन साफ हो जाएगा, लेकिन यह अपने आप टैब इंडेंटेशन बन जाता है।
यदि यह मानक रूप से अनुशंसित है, तो क्या जानबूझकर 2-स्पेस इंडेंटेशन का उपयोग करना मूर्खता की पराकाष्ठा है?

....
मुझे अब किसी भी तरह से फर्क नहीं पड़ता...
फिर मिलेंगे।
धन्यवाद।

Related Posts