ভিমের ডিফল্ট 'পথ' বিকল্পটি কি অপ্রয়োজনীয়?


10

ভিমের সহায়তা দস্তাবেজ থেকে (দেখুন :help 'path':)

'পাথ' স্ট্রিং (ইউনিক্সে ডিফল্ট: " .,/usr/include,,")

বর্তমান ফাইলের ডিরেক্টরি সম্পর্কিত অনুসন্ধান করতে, ব্যবহার করুন:

:set path=.

- বর্তমান ডিরেক্টরি অনুসন্ধান করতে দুটি কমাতে ফাঁকা স্ট্রিং ব্যবহার করুন:

:set path=,,

মনে হচ্ছে যে .,,'পথ' বিকল্পটি মধ্যে কোনো পার্থক্য আছে। তারা উভয়ই বর্তমান ডিরেক্টরিটি বোঝায়।

কেন আমাদের উভয় .এবং ,,পথের বিকল্পের প্রয়োজন তা আমি বুঝতে পারি না । মধ্যে পার্থক্য কি :set path=.এবং :set path=,,?

উত্তর:


14

"বর্তমান ডিরেক্টরি" এবং "বর্তমান ফাইলের ডিরেক্টরি" দুটি ভিন্ন জিনিস।

"বর্তমান ডিরেক্টরি" ডিফল্টরূপে আপনি যে ডিরেক্টরিতে ভিম শুরু করেছিলেন তা হ'ল। আপনি তেজ জিজ্ঞাসা কি এটা সাথে আছেন :pwdএবং এটি পরিবর্তন :cdবা :lcdবা সেটিং দ্বারা autochdirবিকল্প। আপনি যদি কখনই এটি পরিবর্তন না করেন আপনি বর্তমান অধিবেশনটি বন্ধ না করা পর্যন্ত এটি একই থাকবে।

"বর্তমান ফাইলের ডিরেক্টরি" এটি হ'ল দাবি করে। যদি বর্তমান ফাইলটি "বর্তমান ডিরেক্টরিতে" থাকে তবে উভয়েরই মান একই হয়। যদি বর্তমান ফাইলটি অন্য ডিরেক্টরিতে থাকে তবে তাদের মান আলাদা হয়।

জন্য pathউপযোগী হতে, এটা যাদের দুই পরিস্থিতিতে মোকাবেলার প্রয়োজনীয় .এবং ,,

উদাহরণ:

$ cd /foo/bar/baz
$ vim filename
:pwd                   -->  /foo/bar/baz
:echo expand("%:p:h")  -->  /foo/bar/baz
:e ../file
:pwd                   -->  /foo/bar/baz
:echo expand("%:p:h")  -->  /foo/bar

7

বর্তমান ফাইলের ডিরেক্টরি এবং বর্তমান ডিরেক্টরী দুটি সম্পূর্ণরূপে ভিন্ন জিনিষ (যে হতে পারে, এ উপলক্ষে একই মান আছে) হয়।

বিবেচনা:

cd /tmp; vim /etc/bash.bashrc

আমি autochdir(বা অনুরূপ কিছু) সেট না করে বর্তমান ডিরেক্টরিটি রয়েছে /tmp, তবুও বর্তমান ফাইলের ডিরেক্টরিটি রয়েছে /etc

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