कोई (दस्तावेज) विकल्प फाइलों में खोजने में लाइन नंबर छिपाने के लिए नहीं है परिणाम है। लाइन नंबरों की प्रतिलिपि बनाने के लिए आपको या तो सभी लाइनों की प्रतिलिपि बनाने और संख्याओं को छोड़ने के लिए सावधानीपूर्वक एकाधिक चयन का उपयोग करने की आवश्यकता होगी, या अपने उत्तर में वर्णित डैनिल के रूप में ढूंढने और प्रतिस्थापित करने के लिए उपयोग करना होगा।
हालांकि प्लगइन कोड के साथ आप अपने लिए भारी उठाने के बाद दोनों दुनिया के सर्वश्रेष्ठ प्राप्त कर सकते हैं।
उदाहरण के लिए, मेनू से Tools > Developer > New Plugin...
चुनें और बफर की सामग्री को निम्न पायथन कोड से प्रतिस्थापित करें, फिर इसे उदाहरण के रूप में सहेजें find_results_copy.py
। यह आपके User
पैकेज में होना चाहिए (नाम कोई फर्क नहीं पड़ता, केवल एक्सटेंशन करता है), लेकिन अगर आप स्टब प्लगइन बनाने के लिए मेनू प्रविष्टि का उपयोग करते हैं तो सब्लिमेम को स्वचालित रूप से इसका ख्याल रखना चाहिए।
[संपादित करें] प्लगइन कोड एक एकल रेगेक्स ऑपरेशन का उपयोग करने के लिए संशोधित किया गया है, जो (देर रात मस्तिष्क के फार्ट के कारण) मूल रूप से इसके बजाय दो संचालन के माध्यम से लागू किया गया था। [/ संपादित करें]
import sublime
import sublime_plugin
import re
class FindResultsCopyCommand(sublime_plugin.ApplicationCommand):
def run(self):
sublime.active_window().run_command ("copy")
sublime.set_clipboard (re.sub (r"^\s*[0-9]+.", "",
sublime.get_clipboard(), flags=re.MULTILINE))
यह एक नया find_results_copy
कि पहली डिफ़ॉल्ट copy
आदेश चलाता है, और फिर एक नियमित अभिव्यक्ति प्रतिस्थापन के साथ क्लिपबोर्ड की सामग्री को संशोधित लाइन नंबर फेंक नामित आदेश लागू करता है।
अब आप इस आदेश को आमंत्रित करने के लिए एक कस्टम कुंजी बाध्यकारी कार्यान्वित कर सकते हैं। चूंकि हम केवल यह आदेश खोज परिणामों में ट्रिगर करना चाहते हैं, तो आप हमारे नए कमांड का उपयोग करने के लिए संशोधित मानक कॉपी कीबोर्ड शॉर्टकट का पुन: उपयोग कर सकते हैं और एक संदर्भ के साथ जो इसे केवल परिणाम परिणामों में प्रभावी होने का कारण बनता है।
यह उदाहरण विंडोज/लिनक्स के लिए कीबोर्ड कमांड का उपयोग करता है; यदि आप मैक पर हैं तो उस प्लेटफॉर्म के लिए मानक कुंजी पर मैप करने के बजाय super+c
का उपयोग करें।
{"keys": ["ctrl+c"], "command": "find_results_copy", "context":
[
{ "key": "selector",
"operator": "equal",
"operand": "text.find-in-files",
"match_all": true
},
]
},
इस के बाद से डिफ़ॉल्ट प्रतिलिपि आदेश का उपयोग करता है, अगर आप copy_with_empty_selection
चालू किया हुआ है, तो यह आपके लिए कुछ भी चयन करने के लिए, यदि आप उस तरह से काम करने के लिए इस्तेमाल कर रहे हैं बिना एक लाइन नंबर के बिना वर्तमान पंक्ति कॉपी कर देंगे।
अगर वांछित, आप भी इस आदेश को नकल कर सकते हैं (आप एक ही फाइल में यह स्टोर कर सकते हैं) और यह भी पाठ में कटौती करने की क्षमता हासिल करने के लिए (बाध्यकारी एक उपयुक्त कुंजी के साथ) FindResultsCutCommand
को वर्ग और आदेश cut
को मार डाला नाम बदलने और यदि आपको उस तरह की चीज की ज़रूरत है तो लाइन नंबरों को हटा दें।
@ सिडबिफी ने किया;) –