কোনও কারণে আমি আমার জীবনের জন্য এটি বুঝতে পারি না যে ভিএম ব্যবহার করার সময় কীভাবে বাইরের সরঞ্জামগুলিতে একক উদ্ধৃতি চিহ্নগুলি পাস করতে হয়। উদাহরণস্বরূপ, আমি "foo (এটি, একটি একক উদ্ধৃতি চিহ্নের পরে শব্দটি শব্দ) এর পাঠ্যের জন্য ভিমের বহিরাগত গ্রেপকে কল করতে চাইতে পারি
সুতরাং আমি আদেশটি চেষ্টা করতে পারি:
:grep \"foo *.txt
তবে এর ফলে নিম্নলিখিত ত্রুটি বার্তায় ফলাফল:
!findstr /n \"foo *.txt >C:\Users\[username]\AppData\Local\Temp\VIeC244.tmp 2>&1
shell returned 1
E40: Can't open errorfile C:\Users\[username]\AppData\Local\Temp\VIeC244.tmp
নোট করুন যে আমি উইন্ডোতে রয়েছি (এবং এটি চালিয়ে যাচাই করা যেতে পারে echo &grepprg
) গ্রেপটি 'ফাইন্ডস্টার / এন' ব্যবহার করতে পরিবর্তিত হয়েছে । আমি যা সন্ধান করি তা হ'ল আমি নিম্নলিখিতটি টাইপ করে কমান্ড লাইন থেকে নিজেই এটি করতে চাইলে আমি যে সন্ধানটি চাই তা সহজেই সম্পাদন করতে পারি:
findstr /n \"foo *.txt
যা আমি আশা করি ঠিক তেমন কাজ করে
:!findstr /n \"foo *.txt
? যদি এটি ব্যর্থ হয়, আপনার কার্যনির্বাহী ডিরেক্টরি (চেষ্টা :pwd
) আপনার প্রত্যাশা অনুযায়ী সেট করা নাও হতে পারে, সুতরাং *.txt
কিছুই খুঁজে পাবে না। (ডিফল্টরূপে, ভিম স্বয়ংক্রিয়ভাবে কার্যকারী ডিরেক্টরিটিকে বর্তমান ফাইলের ডিরেক্টরিতে পরিবর্তন করে না)।
set autochdir
\\\"
? আমি কেবল ধরে নিতে পারি যে ভিআইএম প্রদত্ত প্যারামিটারগুলিকে সরিয়ে দেয়:grep
এবং কল করেfindstr /n "foo *.txt
- যা অবশ্যই একটি অবৈধ আদেশ হবে এবং ত্রুটির কারণ ঘটবে।