কীভাবে স্বয়ংক্রিয়ভাবে ভি এবং ভিমে সংরক্ষণের ফাঁকা স্থানগুলি স্ট্রিপ করবেন?


22

.vimrcকোনও ফাইল সংরক্ষণের সময় স্বয়ংক্রিয়ভাবে ট্রেলিং হোয়াইটস্পেস সরিয়ে দেওয়ার কোনও সেটিংস আছে কি ?

আদর্শভাবে (নিরাপদ থাকতে) আমি কেবল নির্দিষ্ট ফাইলগুলির জন্য এই কার্যকারিতাটি রাখতে চাই eg *.rb

উত্তর:


25

এটি সমস্ত ফাইলের জন্য (.vimrc ফাইলে) কাজ করে:

autocmd BufWritePre * :%s/\s\+$//e

এটি কেবল রুবি (.rb) ফাইলের জন্য (.vimrc ফাইলে) কাজ করে:

autocmd BufWritePre *.rb :%s/\s\+$//e

6
এই সমাধানটি দুর্দান্ত, তবে আমি মনে করি নীচে @ সুকমিন্ডারের সমাধানটি আরও ভাল, কারণ এটি কার্সরটিকে সঠিকভাবে স্থান দেয়।
hlin117

লাস্টেটটি কী eব্যবহার করে?
acgtyrant

19

কার্সার অবস্থান ধরে রাখতে এমন কিছু ব্যবহার করুন:

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.

একটি ব্যবহার করতে পারে, তবে এই ক্ষেত্রে দরকার নেই, গেটপোস () দ্বারা:

let save_cursor = getpos(".")
" Some replace command
call setpos('.', save_cursor)

" To list values to variables use:
let [bufnum, lnum, col, off] = getpos(".")

2

আমার ডিলিটট্রাইলিংয়েটস স্পেস প্লাগইনটি এটি করে এবং :autocmdsচারপাশে থাকা বিভিন্ন সাধারণ ভাসমানের বিপরীতে , বিশেষ কেসগুলি পরিচালনা করে, ব্যবহারকারীকে জিজ্ঞাসা করতে পারে, বা পরিত্যক্ত সাদা স্থানের সাথে অ্যাওর্ট লিখেছেন।

প্লাগইন পৃষ্ঠায় বিকল্পগুলির লিঙ্ক রয়েছে; উইম টিপস উইকিতে একটি বিশাল আলোচনাও রয়েছে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.