حول ارتباط مفتاح لإزالة المسافات الزائدة والحفظ

لدي خط في بلدي. vimrc:

map gu :%s/\s\+$// :w

لإزالة مسافات زائدة وحفظ الملف في نفس الوقت.

عند وجود مسافات زائدة في الملف ، فإنه يعمل بشكل جيد (يزيل المسافات ويحفظ الملف) ، ولكن عندما لا تكون هناك مسافات زائدة فإنه لا يحفظ الملف ، فهو يقول النقش غير موجود: \ s + $ </م>.

ملاحظة: لقد عثرت على هذا ، ولكنني فضولي حول الطريقة التي أسألها

0
أعتقد أنها مشكلة أيضًا للملفات التي ليس لديك فيها أذونات كتابة - أنا ببساطة أقوم بالكتابة بعد ذلك باليد
وأضاف المؤلف epsilonhalbe, مصدر

1 إجابة

إضافة e إلى علامات البحث لمنع رسائل الخطأ:

map gu :%s/\s\+$//e :w

من : help help :

[e]     When the search pattern fails, do not issue an error message and, in 
        particular, continue in maps as if no error occurred.  This is most 
        useful to prevent the "No match" error from breaking a mapping.  Vim 
        does not suppress the following error messages, however:  
            Regular expressions can't be delimited by letters
            \ should be followed by /, ? or &
            No previous substitute regular expression
            Trailing characters
            Interrupted
0
وأضاف