2012-09-04 14 views
5

मैं सभी खुले बफ़र्स में इस आदेश :perldo s/assigned_to(?!_member|_role)/assigned_to_member/g चलाने की जरूरत है। मैं :perldo उपयोग कर रहा हूँ क्योंकि builtin vim regex (अर्थात %s/foo/bar/g) किसी कारण से अपनी नकारात्मक अग्रदर्शी के साथ काम नहीं कर रहा है।विम - सभी बफर में एक गैर सामान्य मोड कमांड कैसे चलाएं?

मेरे शोध के माध्यम से मुझे :bufdo और :execute "normal <foo>" आदेश मिले हैं, लेकिन मैंने अभी तक यह नहीं पाया है कि उन्हें कैसे गठबंधन किया जाए।

किसी को भी पता है कि कैसे मैं अपने सभी खुले बफ़र्स पर perldo आदेश चलाने के लिए सक्षम हो सकता है? धन्यवाद!

उत्तर

8

क्या बुराई है:

:bufdo! perldo s/assigned_to(?!_member|_role)/assigned_to_member/g 
+0

यही काम किया! 'Bufdo' के बाद '!' क्या होता है? हो सकता है कि मैं क्या खो रहा था! – BenHohner

+1

मैं विम में 'h hffdo!' पढ़ने की सिफारिश करता हूं। यदि आपके पास समय (khm) नहीं है: यदि 'perldo' विफल रहता है (किसी भी बफर में कुछ भी प्रतिस्थापित नहीं कर सकता)" सामान्य "': bufdo' "exits"। अगले बफर पर 'perldo' आदेश जारी है! –

+1

विस्मयादिबोधक चिह्न या तो बलों कुछ (जैसे 'wq!') या एक टॉगल स्विच के रूप में कार्य करता है। लेकिन यह आदेश पर निर्भर करता है। इस मामले में 'bufdo' के लिए यदि बफर को त्याग नहीं किया जा सकता है तो आदेश विफल हो जाएगा। – kprobst