ভিমে সাম্প্রতিক ফাইলের ইতিহাস?


132

আমি সাম্প্রতিক ফাইলগুলি অ্যাক্সেস করতে চাই যা আমি খোলে এবং তারপরে জিভিমে বন্ধ করে দিয়েছি। আমি প্রায়শই জিভিম খুলি এবং বন্ধ করি। আমি আগের সেশনগুলি থেকে সাম্প্রতিক ফাইলগুলিতে অ্যাক্সেস করতে চাই।

জিভিম কি ওয়ার্ড এবং অন্যান্য অনেক ডেস্কটপ অ্যাপ্লিকেশন হিসাবে কোথাও সাম্প্রতিক ফাইলগুলি সঞ্চয় করে? কীভাবে তাদের অ্যাক্সেস করবেন?


প্রশ্ন অনুরূপ: stackoverflow.com/questions/309723/...
malgca

উত্তর:


229

কমপক্ষে টার্মিনাল ~/.viminfoভিএম আগের দশটি ফাইলকে ফাইলমার্ক বিভাগে সঞ্চয় করে। আপনি ব্যবহার করতে পারেন '0, '1, '2, ... '9তাদের মধ্যে ঝাঁপ।

(সম্ভবত '0আপনার সম্পাদনা করা শেষ ফাইলটি ফিরে পেতে কেবল কার্যকর , যদি না আপনার স্মৃতি আমার চেয়ে শক্তিশালী হয়))

:browse oldfilesসংখ্যা সহ একটি মেনু পেতে আপনি কমান্ডটিও ব্যবহার করতে পারেন ।


2
আপনি যদি ব্যবহার করতে চান 0- 9নেভিগেশনের চিহ্ন হিসাবে, সেগুলিকে ম্যানুয়ালি চিহ্নিত করবেন না
ইউয়ান

16
:browse oldফাইল-তালিকা পেতে ব্যবহার করুন। এবং qকোন ফাইলটি সম্পাদনা করতে হবে তা চয়ন করতে প্রবেশ করুন।
গীতির

5
:e #<1শেষ ফাইল খুলুন, দেখুন :h c_#<
হটস্কে

: ব্রো ওল কাজ করে .. তবে আপনাকে অনেকগুলি কী টাইপ করতে হবে .. প্রথমে ফাইলগুলির একটি তালিকা পেতে, তারপরে q টিপুন, এবং তারপরে একটি সংখ্যা নির্বাচন করতে। আমি বিশ্বাস করি যে নীচে উল্লিখিত এমআরইউ প্লাগইনটি আরও ভাল: stackoverflow.com/a/3171323/4752883 আপনাকে <লিডার> এফ টিপতে হবে, তারপরে হয় hjkl বা অন্য কী / ফাইলের সাথে ফাইলটির জন্য ব্রাউজ করুন ফাইলের নাম অনুসন্ধান করুন। তারপরে কার্সারের নীচে ফাইলটি খোলার জন্য o, এন্টার, টি, বা ভি টিপুন।
alpha_989

আমি rmপূর্বের বর্ণিত পদ্ধতিটি ব্যবহার করে ভুল করে মুছে ফেলা একটি ফাইল পুনরুদ্ধার করেছি ।
টেন্ডেম

55

আমি যেভাবে ব্যবহার করি তা হ'ল সেরা উপায়

:browse oldfiles

ভিমে সহজতম উপায়।


1
নিস! আমি সেই অভিব্যক্তিটি আমার n / .vimrc- এ "এনএম্যাপ বো: ব্রাউজ করুন ওল্ডফায়াল <সিআর>" (উদ্ধৃতি ব্যতীত) হিসাবে ম্যাপ করেছি। সাধারণ মোডে কেবল সেই ম্যাপিং (বো) টাইপ করা সেই আদেশটি কার্যকর করে
ভিক্টোরিয়া স্টুয়ার্ট


22

এখানে খুব দেরিতে উত্তর ... @ স্যারনল্ডস উত্তরটি ব্যাখ্যা করে - আপনি ফাইলের ইতিহাসটি ওল্ডফায়ালস কমান্ড @see: h ওল্ডফাইলে বা: h viminfo দিয়ে দেখতে পারেন

:oldfiles 

তদুপরি, আপনার ভিউ এবং সেশনগুলির সাথে সূক্ষ্ম-দানাযুক্ত ফাইল ম্যানেজমেন্ট থাকতে পারে ... @see: h mkview এবং: h mksession নির্দিষ্টকরণের জন্য ...


4
এটি তালিকা থেকে নাম্বারটি জানার পরে কীভাবে প্রকৃতপক্ষে কোনও ফাইল খুলতে হবে তা জানা দরকারী :oldfiles:browse@ স্যারনোল্ডের ব্যাখ্যা অনুসারে, কমান্ডটি ব্যবহার করে কেউ এটি করতে পারে :e #<Nতবে oldfilesতালিকা থেকে এন নাম্বার যেখানে রয়েছে তা ব্যবহার করে নিজেই এটি করা সম্ভব ।
ক্রিজিসটফ অ্যাডামস্কি

11

CtrlP প্লাগইন ফাইল স্যুইচিংয়ের একটি সুইস ছুরি রয়েছে , যা জনস বিতরণেরও অংশ । এটা আছে :CtrlPMRUসম্প্রতি ব্যবহৃত ফাইল মধ্যে স্মার্ট লুকআপ সঙ্গে কমান্ড।

দ্রষ্টব্য: এতে CtrlP সর্বাধিক ব্যবহৃত ফাইলগুলির নিজস্ব তালিকা বজায় রাখে g:ctrlp_cache_dir."mru/cache.txt"। এটি ভিমিনফো ( set viminfo?) পুনরায় ব্যবহার করছে না যা ফাইল চিহ্নের একটি তালিকা রয়েছে। আপনি যদি এই তালিকাটি সাফ করতে চান তবে এটি কার্যকর।


1
সিআরটিএলপি ইন্টারফেস কি ভিআইএম ব্যবহারকারীদের জন্য স্বজ্ঞাত নয়? এমআরইউ ফাইল = ~ / রেজিপ্স্প / (সহজেই পার্ল / গ্রেপ রিজেক্স ~ / _ভিমিনফো দিয়ে সম্পন্ন) সন্ধান করার জন্য জটিল ইন্টারফেসটি শিখতে সমস্যাটি মূল্যহীন।
মোশ

হ্যাঁ .. আমি বুঝতে Ctrlp কীভাবে ব্যবহার করবেন তা চেষ্টা করা হয়েছে, কিন্তু MRU, ব্যবহার করা অনেক সহজ হবে বলে মনে হয় আপনি ফাইল (একটি সরল সেট আছে যদি stackoverflow.com/a/3171323/4752883 )।
এমআরইউতে

9

ব্যবহারের :bro olতারপর সংখ্যা ফাইলের অনুরুপ আপনি খুলতে চান চাপুন।


5

CtrlP প্লাগইন আপনাকে এই কমান্ডটি দিয়ে আপনার সম্প্রতি ব্যবহৃত ফাইলগুলি এবং বর্তমান ডিরেক্টরিতে থাকা ফাইলগুলি অনুসন্ধান করতে দেয়:

nnoremap <c-p> :CtrlPMixed<cr>

এটি আপনাকে ভিম কমান্ড এবং এমআরইউ প্লাগইন সহ বিল্টের সাথে মোকাবিলা করার ঝামেলা বাঁচায়, এর মধ্যে দুটিও আপনাকে अस्पष्ट ফাইল অনুসন্ধান করতে দেয় না, এটি বৃহত্তর প্রকল্পগুলিতে কাজ করার সময় গুরুত্বপূর্ণ is


যাঁরা সিআরটিএল-পি-র ডিফল্টটিকে কার্যত পুনরায় ম্যাপিংয়ের বিরুদ্ধে প্রতিরোধী: আপনি সাধারণত সিআরটিএল-পি খুলতে পারেন এবং মোডের মধ্যে স্যুইচ করতে Ctrl-F বা Ctrl-B ব্যবহার করতে পারেন (এমআরইউ তাদের মধ্যে অন্যতম)
গুস্তাভো মাটিয়াস


2

এখানে মন্তব্যগুলিতে যেমন দেখা গেছে (http://stackoverflow.com/questions/571955/undo-close-tab-in-vim) আপনার ফাইলটি সম্ভবত একটি বাফারে খোলা আছে:

:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number

উদাহরণস্বরূপ আপনি নতুন ট্যাবে তৃতীয় বাফারটি আবার খুলতে পারেন (আপনি যদি ট্যাব ব্যবহার না করেন তবে এর পরিবর্তে ব্যবহার করুন:)

:tabnew +3buf

1
হ্যাঁ, এটি কাজ করে। তবে অবশ্যই কোনও সম্পাদকের কাজ বিষয়কে সহজ করা? যদি আপনাকে কোনও কমান্ড জারি করতে হয়, দৃশ্যত কোনও কিছু সনাক্ত করতে হবে, একটি আইডি মনে রাখবেন, তবে অন্য একটি আদেশটি ব্যবহার করুন যা ব্যবহারকারীর সময়ের আসল অপচয়। আপনার উত্তরটি সঠিক, এবং আমি অপরাধ বলতে চাইছি না, তবে এটি ভিমের একটি হত্যাকারী বৈশিষ্ট্যের জন্য তৈরি করে না!
আর্টফুলবোট

আমারও একই সমস্যা ছিল। আপনি বাফেক্সপ্লোরার চেষ্টা করেছেন? এটি ls এবং: tabnew + Nbuf এর সংমিশ্রণ করে। এখন আপনি বাফারগুলির তালিকাটি খুলতে এবং এটি একটি নতুন ট্যাব ইত্যাদিতে খুলতে পারেন one একটি কীস্ট্রোক (ও, টি, ভি) ইত্যাদি c
alpha_989

2

আপনি কমান্ড লাইন থেকে তালিকাটি অ্যাক্সেস করতে সক্ষম হতে পারেন:

grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'"$HOME"','

ব্যাখ্যা:

grep '^>' ~/.viminfo  #find the list of recent files
cut -c3-              #remove the first 2 characters
sed 's,~,'"$HOME"','  #replace ~ with absolute path

আপনি যদি এটি নিয়মিত ব্যবহার করেন তবে আপনার কোনও বাশ ওরফে থাকতে পারে

alias vim_mru="grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'\"$HOME\"','"

2

, এখানে আমার 2 সেন্ট যোগ করার পদ্ধতি যা যেমন একটি বিস্ময়কর টুল করা হয়েছে কারণ fzf উল্লেখ করেছে আগে করা হয় নি:
fzf.vim টি :Historyকমান্ডের সাহায্যে আপনি সবচেয়ে সাম্প্রতিক ব্যবহৃত ফাইল অনুসন্ধান করতে দেয় ঝাপসা এবং অনুসন্ধান যখন আপনি টাইপ বইতে দেবেন।
আমি এই আদেশের (ডিফল্ট) আচরণটি কাস্টমাইজ করে সন্ধানের ফলাফলের তালিকাকে সেরা ম্যাচে পুনরায় অর্ডার না করে: এই ফাইলগুলি সর্বশেষে ব্যবহৃত হয়েছিল যাতে আমি সব মিলিয়ে থাকা ফাইলের নাম ক্রম রাখতে চাই।
এই কাস্টমাইজেশনটি সম্পাদন করতে, আমি Historyfzf.vim প্লাগইন দ্বারা সংজ্ঞায়িত ডিফল্ট কমান্ডকে ওভাররাইড করতে আমার .vimrc এ নিম্নলিখিতগুলি যুক্ত করেছি :

    command! -bang -nargs=* History
      \ call fzf#vim#history({'options': '--no-sort'})

1

আর একটি প্লাগইন যা আপনাকে সর্বশেষ সংশোধিতগুলির তালিকা থেকে ফাইলটি বেছে নেবে তা হল তারকাচিহ্ন । এটি আপনার প্রারম্ভিক স্ক্রিনটি অতি সম্প্রতি পরিবর্তিত ফাইলগুলির একটি তালিকা দিয়ে প্রতিস্থাপন করে। :Startifyকমান্ড ব্যবহার করে আপনি এই পৃষ্ঠাটি সর্বদা খুলতে পারেন ।


1
এমনকি ইনস্টল করার জন্য তারকাচিহ্ন পেতে পারেনি - বেসিক ইনস্টল এবং ব্যবহারের জন্য আরও ডক্স প্রয়োজন। এমআরইউ ব্যবহার করা হচ্ছে, কারণ এটি ইনস্টল করা এবং ব্যবহার করা সহজ ছিল।
মোশ

1

:ls বাম-হাতের কলামে বাফার নম্বর সহ সাম্প্রতিক ফাইলগুলির তালিকা করতে।

তারপরে :b{buffer-number}সেখানে ঝাঁপিয়ে পড়তে হবে।

উদাহরণ: :lsফাইলগুলির তালিকা প্রদর্শন করে। আমি পরিদর্শন করা তৃতীয়-শেষ ফাইলটিতে যেতে চাই। :b3আমাকে সেখানে নিয়ে যাবে

দ্রুত অনুসন্ধানের জন্য, :lsকিছুতে মানচিত্র করুন, যেমন <Leader>.আপনার .vimrc ফাইলে।


1

এছাড়াও আপনি ctrl+ দিয়ে ফিরে যেতে পারেন O

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