Emacs

2013-04-10 6 views
12

के साथ किसी क्षेत्र में प्रत्येक पंक्ति से पहले 'x' वर्णों को हटाकर मैं किसी क्षेत्र में प्रत्येक पंक्ति के लिए पहले x वर्णों को हटाना चाहता हूं।Emacs

क्या रेगेक्स का उपयोग किये बिना ऐसा करने के लिए कोई महत्वपूर्ण बाध्यकारी उपलब्ध है?

उत्तर

16

यह करने के लिए सबसे अच्छा तरीका आदेशों की "आयत" परिवार का प्रयोग है। उदाहरण के लिए, क्षेत्र की शुरुआत को चिह्नित करें। क्षेत्र के अंत में जाएं और बिंदु एक्स पर बिंदु रखें। C-x r k का उपयोग कर kill-rectangle आदेश चलाएं।

बेशक, यह लाइनों की शुरुआत में वर्णों को हटाने के लिए सीमित नहीं है।

5

निशान स्तंभ 0 पर है, तो पर स्तंभ एक्स बिंदु डाल दिया और kill-rectange का उपयोग करें:

C-x r k runs the command kill-rectangle, which is an interactive 
autoloaded Lisp function in `rect.el'. 

It is bound to C-x r k. 

(kill-rectangle START END &optional FILL) 

Delete the region-rectangle and save it as the last killed one. 

When called from a program the rectangle's corners are START and END. 
You might prefer to use `delete-extract-rectangle' from a program. 
0

एक आदेश है कि मैं वास्तव में नौकरियों के इन प्रकार के लिए प्यार कई कर्सर के संपादित लाइनों है:

http://www.youtube.com/watch?v=jNa3axo40qM

यह overkill kill-rectangle (मूल समस्या का सबसे अच्छा समाधान) की तुलना में है, लेकिन यह एक अद्भुत है टूलबॉक्स में उपकरण। निश्चित रूप से इसे देखने के लायक है।

0

आयत आदेश

M-x rectangle-mark-mode 

का उपयोग कर फिर आदेश

M-x kill-region 
का उपयोग आवश्यक आयत का चयन करें