प्रत्येक शब्द को एक पंक्ति में उलट दें


9

आपका कार्य एक विम स्क्रिप्ट बनाना या कीस्ट्रोक्स का एक क्रम प्रदान करना है जो पाठ की एक पंक्ति पर 140 प्रिंट करने योग्य ASCII वर्णों के साथ काम करेगा (कहीं भी एक फ़ाइल में, कर्सर लाइन में कहीं भी शुरू होने के साथ) और प्रत्येक स्थान को उल्टा कर सकता है- एक ही क्रम में तार रखते हुए वाक्य में अलग स्ट्रिंग।

उदाहरण के लिए, इनपुट:

roF emos nosaer m'I gnisu a retcarahc-041 timil no siht noitseuq neve hguoht ti t'nseod evlovni .rettiwT RACECAR  

लौटना चाहिए:

For some reason I'm using a 140-character limit on this question even though it doesn't involve Twitter. RACECAR  

इस परिणाम को प्राप्त करने के लिए सबसे कम वर्ण या सबसे कम कीस्ट्रोक्स के अनुक्रम वाली स्क्रिप्ट विजेता है।


1
"इस प्रश्न के प्रयोजनों के लिए यह केवल विम है" एक सामान्य कोड गोल्फ चुनौती पोस्ट करने और केवल सी में जवाब देने के लिए पूछ के रूप में एक भाषा-प्रतिबंध के रूप में लगता है ( और मैं इस राय के साथ अकेला नहीं लगता। )
मार्टिन एंडर

27
RACECAR को उलटा क्यों नहीं किया जाता है?
orlp

3
क्योंकि यह एक ताल है। इसे स्वयं उलटने का प्रयास करें।
जो जेड।

2
वाह, मैं बेवकूफ हूं। Derp।
19

7
@orlp लोल। मुझे लगा कि आप मजाक कर रहे थे।
mbomb007

जवाबों:


9

28 25 24 कीस्ट्रोक्स

:se ri<CR>^qqct <C-r>"<Esc>f l@qq@q

पुनरावर्ती मैक्रो, मुझे लगता है कि Ctrl- rएक कीस्ट्रोक के रूप में गिना जाता है।

सबसे कठिन हिस्सा यह सुनिश्चित करना था कि मैक्रो एक ही पंक्ति पर रहता है और बाकी फ़ाइल को नष्ट नहीं करता है।


यदि आप मैक्रो को समाप्त नहीं कर रहे cEथे ct , तो आप इसके बजाय उपयोग कर सकते थे । लेकिन आप 2 स्ट्रोक को बचाने के बजाय उपयोग कर सकते हैं । Wf l
काक

@ केक गलत X2। लगता cEहै जब कर्सर की शुरुआत में क्या होता है a retcarahc-041? और लगता है कि Wजब हम लाइन के अंत में होते हैं तो क्या होता है?
orlp

राजधानी पर ध्यान दें E। लोअरकेस eडैश तक जाएगा, पूंजी Eअगले स्थान तक जाएगी। मैंने अभी इसकी पुष्टि करने की कोशिश की है।
काक

कोशिश करें: :set ri<Enter>^qqct <C-r>"<Esc>W@qq@q23 के लिए।
काक

@ केक जो काम नहीं करेगा। और इसके बारे में E, मुझे पता है कि यह क्या करता है। मैं जिक्र कर रहा था कि यह एकेए में cE<C-r><Esc>बदल जाएगा। a retcarahc-041140-character a
orlp

3

24 कीस्ट्रोक्स

ma:s/ /\r/g
V'a:!rev
gvJ

मुझे पता है कि यह सवाल बहुत पुराना है, लेकिन मुझे विमगॉल्फ बहुत पसंद है इसलिए मैं साइट पर कुछ विम-विशिष्ट चुनौतियों में से एक पर एक उत्तर पोस्ट नहीं कर सका । इसके अलावा यह समाधान ओर्लप के साथ बंधा हुआ है।

ओर्लप ने कहा, जैसा कि सबसे कठिन हिस्सा यह सुनिश्चित कर रहा था कि बाकी बफर अनमॉडिफाइड था। यदि यह उस प्रतिबंध के लिए नहीं थे, तो हम बस कर सकते हैं:

:s/ /\r/g
!{rev
V}J

(19 कीस्ट्रोक्स) लेकिन हमें इसे बफर-सुरक्षित रखने के लिए थोड़ा और अधिक चाहिए। यह एक यूनिक्स वातावरण मानता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.