আমি কীভাবে বর্তমান ফাইলটির নাম এবং প্রসার পেতে পারি?


24

উইমস্ক্রিপ্ট ব্যবহার করে কোনও ফাইলের নাম এবং বর্ধনের কোনও উপায় আছে কি?

যদি তা হয় তবে আমি আলাদাভাবে নাম এবং এক্সটেনশন চাই।


"একটি নথি"? কোন ফাইল? বর্তমান বাফার এক? কোথাও একটি ফাইল অনুসন্ধানের পথে?
মারু

ব্যবহারকারী যে ফাইলটি `vim <ফাইলের নাম>
আইফ্রোগ্রাম


আমি পুরো পথ চাই না। আমি কেবল ফাইলটির নাম এবং প্রসার চাই। আমি যে পদ্ধতিটি এটিও উইমস্ক্রিপ্টে ব্যবহার করতে চাইছি তা নয়।
আইপোগ্রাম

হ্যাঁ, উভয় উত্তরই আসলে সংযুক্ত প্রশ্নে রয়েছে (বিশেষত চার্লসএল এর উত্তর) ...
মার্টিন টর্নয়েজ

উত্তর:


27

থেকে :he filename-modifiers:

    :t      Tail of the file name (last component of the name).  Must
            precede any :r or :e.
    :r      Root of the file name (the last extension removed).  When
            there is only an extension (file name that starts with '.',
            e.g., ".vimrc"), it is not removed.  Can be repeated to remove
            several extensions (last one first).

    :e      Extension of the file name.  Only makes sense when used alone.
            When there is no extension the result is empty.
            When there is only an extension (file name that starts with
            '.'), the result is empty.  Can be repeated to include more
            extensions.  If there are not enough extensions (but at least
            one) as much as possible are included.
Examples, when the file name is "src/version.c", current dir
"/home/mool/vim":
  :p                    /home/mool/vim/src/version.c
  :t                                       version.c
  :t:r                                     version
  :e                                               c

expandএগুলি প্রসারিত করতে এবং তাদের মানগুলি পেতে আপনি ফাংশনটি ব্যবহার করতে পারেন :

:let b:baz=expand('%:e')

উদাহরণ স্বরূপ:

$ vim '+ exe ":normal i" . expand("%:t") . "^M" . expand("%:e")' +wqa foo.bar; cat foo.bar
foo.bar
bar

:t" অবশ্যই এর পূর্বে অবশ্যই : r বা: e," তবুও :e"একা ব্যবহৃত হলে কেবল তা বোঝা যায়"। উদাহরণস্বরূপ, আমি পরবর্তীগুলির সাথে ছিলাম, তবে আকর্ষণীয় যে ডক্সগুলি সেখানে তাদের সাথে বিরোধিতা করে।
SnoreFrog

@ স্নোরিংফ্রোগ আমি বিশ্বাস করি এর অর্থ হ'ল এর অর্থ যা আপনি করতে পারবেন না :e:tতবে :t:eএটি অনুমোদিত, যদি অর্থহীন হয়।
মুড়ু

ওহ, আমি দেখছি কীভাবে এটি পড়তে পারে। এটি তখন বোধগম্য হয়।
স্নোরিংফ্রাগ

10

আপনি ব্যবহার করতে পারেন expand(), দেখুন:h expand()

স্ক্রিপ্টে আপনি ফাইল-নাম পেতে এটি করতে পারেন:

let file_name = expand('%:t:r')

এক্সটেনশন পেতে আপনি এটি করতে পারেন:

let extension = expand('%:e')

expand()ফাংশন ওয়াইল্ডকার্ড এবং বিশেষ প্রসারিত করতে চিহ্ন । এখানে আমি ব্যবহার করেছি %যা বর্তমান ফাইল-নাম পর্যন্ত প্রসারিত হয়।

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