GitHub · Felix Geisendörfer पर वर्तमान लाइन खोलें

प्रकाशित:
अद्यतन: फ़्यूजिटिव विम प्लगइन उसी सुविधा का समर्थन करता है
:Gbrowse – करने के लिए धन्यवाद @CrypticSwarm टिप के लिए!
अपने काम के प्रवाह को स्वचालित करने की मेरी कभी न खत्म होने वाली खोज में, मैं हाल ही में एक छोटी सी विम ट्रिक लेकर आया हूं जिसे मैं साझा करना चाहता हूं।
एक चीज़ जो मैं अक्सर करता हूँ, वह है ईमेल और चैट वार्तालापों में GitHub फ़ाइलों/लाइनों के लिंक चिपकाना, उदाहरण के लिए प्रोटोकॉल.js#L144। अब तक इसके लिए मेरा वर्कफ़्लो GitHub रेपो पर नेविगेट करना, फ़ाइल का चयन करने के लिए “t” दबाना, अपनी इच्छित लाइन पर क्लिक करना और फिर एड्रेस बार स्थान को मेरे क्लिपबोर्ड में कॉपी करना रहा है।
दूसरे दिन लगातार कई बार ऐसा करने के बाद, मैंने इसे स्वचालित करने का निर्णय लिया। पहेली का पहला भाग मेरी ~/.gitconfig फ़ाइल में डालने के लिए वर्तमान रिपॉजिटरी के GitHub URL को निर्धारित करने के लिए एक git उपनाम बनाना था:
(alias)
url =! bash -c 'git config --get remote.origin.url | sed -E "s/.+:\\(.+\\)\\.git$/https:\\\\/\\\\/github\\\\.com\\\\/\\\\1/g"'
इससे मुझे वर्तमान रिपॉजिटरी का यूआरएल आसानी से प्राप्त करने की अनुमति मिलती है, उदाहरण के लिए:
$ git url
https://github.com/felixge/node-mysql
अब मैं अपने ब्राउज़र में इस यूआरएल को तुरंत खोलने जैसे अच्छे काम कर सकता हूं:
$ git url | xargs open
# or
$ open `git url`
लेकिन इसके लिए अभी भी मुझे उस फ़ाइल/पंक्ति पर मैन्युअल रूप से नेविगेट करने की आवश्यकता है जिसमें मैं वर्तमान में रुचि रखता हूं, और मैं आलसी हूं। इसलिए मैं अपने ~/.vimrc के लिए यह कुंजी बाइंडिंग लेकर आया:
nnoremap o :!echo `git url`/blob/`git rev-parse --abbrev-ref HEAD`/%\#L=line('.') \| xargs open
अब मैं बस “,ओ” (“,” मेरी लीडर कुंजी है) दबा सकता हूं, और मेरा ब्राउज़र स्वचालित रूप से मेरे कर्सर के नीचे फ़ाइल/लाइन पर नेविगेट करेगा।
बेझिझक इसे अपने संपादक/परिवेश के लिए अपनाएं और यदि आप कोई सुधार करते हैं तो मुझे बताएं। उदाहरण के लिए, एक चीज जो मुझे अभी तक नहीं मिली वह है दृश्य चयन को लाइन रेंज के रूप में खोलना।
— फ़ेलिक्स गीसेन्डोर्फर
आरएसएस या ई-मेल के माध्यम से इस ब्लॉग की सदस्यता लें या मेरे माध्यम से छोटे अपडेट प्राप्त करें ट्विटर.
