क्या .vimrc
फ़ाइल को सहेजते समय स्वचालित रूप से अनुगामी व्हाट्सएप को हटाने के लिए एक सेटिंग है?
आदर्श रूप से (सुरक्षित होने के लिए) मैं केवल कुछ फ़ाइलों के लिए यह कार्यक्षमता रखना चाहूंगा, उदा *.rb
क्या .vimrc
फ़ाइल को सहेजते समय स्वचालित रूप से अनुगामी व्हाट्सएप को हटाने के लिए एक सेटिंग है?
आदर्श रूप से (सुरक्षित होने के लिए) मैं केवल कुछ फ़ाइलों के लिए यह कार्यक्षमता रखना चाहूंगा, उदा *.rb
जवाबों:
यह सभी फ़ाइलों के लिए (.vimrc फ़ाइल) काम करता है:
autocmd BufWritePre * :%s/\s\+$//e
यह काम करता है (.vimrc फ़ाइल) सिर्फ रूबी (.rb) फ़ाइलों के लिए:
autocmd BufWritePre *.rb :%s/\s\+$//e
e
उपयोग करता है ?
कर्सर स्थिति रखने के लिए कुछ का उपयोग करें:
function! <SID>StripTrailingWhitespaces()
let l = line(".")
let c = col(".")
%s/\s\+$//e
call cursor(l, c)
endfun
और कर्सर सहेजने के बाद अंतिम प्रतिस्थापन की लाइन की शुरुआत में समाप्त हो जाएगा।
उदाहरण : आपके पास पंक्ति के अंत में एक जगह है 122
, आप लाइन पर हैं 982
और दर्ज करें :w
। पुनर्स्थापना की स्थिति नहीं, इसके परिणामस्वरूप पंक्ति की शुरुआत में कर्सर ख़त्म हो जाएगा 122
जिससे काम का प्रवाह समाप्त हो जाएगा ।
autocmd
कुछ उदाहरणों का उपयोग करके फ़ंक्शन को कॉल सेट करें :
" Using file extension
autocmd BufWritePre *.h,*.c,*.java :call <SID>StripTrailingWhitespaces()
" Often files are not necessarily identified by extension, if so use e.g.:
autocmd BufWritePre * if &ft =~ 'sh\|perl\|python' | :call <SID>StripTrailingWhitespaces() | endif
" Or if you want it to be called when file-type i set
autocmd FileType sh,perl,python :call <SID>StripTrailingWhitespaces()
" etc.
एक भी उपयोग कर सकते हैं, लेकिन इस मामले में जरूरत नहीं है, getpos () द्वारा:
let save_cursor = getpos(".")
" Some replace command
call setpos('.', save_cursor)
" To list values to variables use:
let [bufnum, lnum, col, off] = getpos(".")
मेरा DeleteTrailingWhitespace प्लगइन ऐसा करता है और, विभिन्न सरल :autocmds
फ़्लोटिंग के विपरीत , विशेष मामलों को भी संभालता है, उपयोगकर्ता को क्वेरी कर सकता है, या अनुगामी व्हाट्सएप के साथ लिखता है।
प्लगइन पृष्ठ में विकल्पों के लिंक शामिल हैं; विम टिप्स विकी पर एक बड़ी चर्चा है ।