NERDTree কীভাবে কোনও ফাইল খুলবেন এবং স্বয়ংক্রিয়ভাবে এক্সপ্লোরার বাফারটি বন্ধ করবেন


10

NERDTree প্লাগইন ব্যবহার করার সময় ডিফল্ট আচরণটি একটি নতুন ফাইল খোলার এবং NERDTree বাফারটি উন্মুক্ত রাখা হয়। আমি যা করতে চাই তা হ'ল এই ডিফল্ট আচরণটি রাখি তবে যখন আমি চাই তখন এনআরডিডি বাফারটি বন্ধ হয়ে যাবে যখন আমি একটি ফাইল খুলি।

আমি জানি আমি let NERDTreeQuitOnOpen=1যখন নতুন ফাইল খুলি তখন স্বয়ংক্রিয়ভাবে NERDTree বাফারটি বন্ধ করতে ব্যবহার করতে পারি তবে এই বিকল্পটি সম্পূর্ণরূপে ডিফল্ট আচরণকে ওভাররাইড করে (যা আমি চাই তা নয়)।

আদর্শভাবে আমি জানতে চাই যে NERDTree এ অন্তর্নির্মিত কোনও বৈশিষ্ট্য আছে যা আমি চাই তা করতে চাই। (আমি সন্ধান করছি কিন্তু এর মতো কিছুই পাইনি তাই আমি মনে করি এটি আসলে বিদ্যমান নেই)

এবং যদি এটি বিদ্যমান না থাকে তবে আমার দুটি ধারণা ছিল:

  • প্রথমটি হ'ল একটি ফাংশন তৈরি করা যা সেট NERDTreeQuitOnOpenকরতে হবে 1, ফাইলটি খুলুন এবং তারপরে আবার সেট NERDTreeQuitOnOpenকরুন 0

  • দ্বিতীয়টি হ'ল নিম্নলিখিত ম্যাপিংটি তৈরি করা: map d<CR> <CR> :NERDTree <CR> :bd<CR>যা ফাইলটি প্রথম (প্রথম <CR>) খোলে , NERDTree বাফার ( :NERDTree <CR>) এ ফিরে যায় এবং এই বাফারটি বন্ধ করে ( :bd <CR>)। আমার এটিকে উন্নত করা উচিত যাতে ম্যাপিংটি কেবল NERDTree বাফারে বিদ্যমান তবে আমি অনুভব করি এটি বেশ কুৎসিত সমাধান এবং আমি আরও উন্নত করতে পারি।

কোন ধারণাটি সেরা হবে এবং কেন? নাকি এর থেকেও আরও ভাল বিকল্প আছে?



@ পিটার: আপনার মন্তব্যের জন্য ধন্যবাদ, নিবন্ধটি বেশ আকর্ষণীয় এবং আমি সম্ভবত নেট করার চেষ্টা করব এবং বিভক্ত এক্সপ্লোরার ধারণাটি করব। আমি মনে করি নিবন্ধে যা ব্যাখ্যা করা হয়েছে তার সুবিধাটি আমি বুঝতে পেরেছি তবে সমস্যাটি হ'ল এটি আসলে আমার সমস্যার সমাধান করে না এটি কেবল আমার ব্যবহৃত সরঞ্জামটি পরিবর্তন করার পরামর্শ দেয়। আমি আমার অভ্যাস পরিবর্তনের বিরুদ্ধে নই তবে আমি প্রথমে আমার সমস্যাটি সমাধান করতে চাই এবং তার পরে একটি নতুন সরঞ্জাম চেষ্টা করতে চাই :)
স্টাটক্স

সম্পর্কিত, এসইউ-তে উত্তর না দেওয়া প্রশ্ন: superuser.com/q/821720/334516map d<cr> <cr>:NERDTreeClose<cr>ম্যাপিংয়ের জন্য হয়তো ?
মুড়ু

@ মুরু: আপনাকে ধন্যবাদ, আপনার ম্যাপিংটি ঠিকঠাক কাজ করে এবং এটি আমার চেয়ে কম কুৎসিত মনে হয় :) এসইউ সম্পর্কে প্রশ্ন সম্পর্কে, আমি নিশ্চিত নই যে এটি পুরোপুরি সম্পর্কিত কারণ তিনি এনআরডিডিট্রি-এর বাফারে ফাইলটি খুলতে চান যেখানে আমি চাই এটিকে একটি নতুন বাফারে খুলুন এবং তারপরে NERDTree বাফারটি বন্ধ করুন: তিনি একটি বিভক্ত উইন্ডোতে সমাপ্ত হন যেখানে আমি একটি বিভক্ত উইন্ডোতে নয় 2 টি বাফার দিয়ে শেষ করতে চাই।
স্ট্যাটক্স

উত্তর:


5

যেহেতু প্রশ্নটি খুব বেশি জেনারেট তৈরি করেছে বলে মনে হচ্ছে না আমি কেবল উত্তর দেব @ এমুরুর পরামর্শে যা আমি এক সপ্তাহের জন্য ব্যবহার করেছি নেটার এক্সপ্লোরারটিতে যাওয়ার আগে। (অবশ্যই যদি এর থেকে আরও ভাল বিকল্প উত্তর আসে তবে আমি আনন্দের সাথে আমার স্বীকৃত হিসাবে অচিহ্নিত করব এবং নতুনটি গ্রহণ করব)

এই ধারণাটি হ'ল ফলিং ম্যাপিংটি ব্যবহার করুন:

map d<cr> <cr>:NERDTreeClose<cr>

যা ফাইলটি সাধারণত সম্পন্ন হওয়ার সাথে সাথেই খোলে এবং তারপরে কার্সার যেখানেই থাকুক না কেন NERDTree বাফারটি বন্ধ করে ফাংশনটিকে কল করে।

সম্পাদনা: আমি সম্প্রতি NERDTree এ ফিরে এসেছি এবং আমার সমাধানটি পুনরায় সাজিয়েছি: আমি আগে যে ম্যাপিংয়ের পরামর্শ দিয়েছিলাম তা কাজ করছে তবে প্রতি বারে এটি আমি দ্বিগুণ চাপতে হয়েছিল dযা আমি বিরক্তিকর কিছু মুছতে চাইছিলাম। (সম্ভবত আমি timeoutসেটিংস পরিবর্তন করতে পারতাম তবে বর্তমানে এটি আমার জন্য যেভাবে সেট করা হয়েছে তা আমি পছন্দ করি, এছাড়াও আমি এটি অন্য কী সংমিশ্রণে মানচিত্র তৈরি করতে চাইনি)।

সুতরাং আমি আমার প্রথম সমাধানটি আমার কাছে নিম্নলিখিত লাইনের দ্বারা প্রতিস্থাপন করেছি .vimrc:

autocmd BufEnter NERD_tree_* nmap  d<CR> <CR> :NERDTreeToggle <CR>
autocmd BufLeave NERD_tree_* unmap d<CR>

এইভাবে ম্যাপিংটি কেবল NERDTreeবাফারগুলিতে তৈরি হয় এবং এটি অন্য বাফারগুলিতে আমার কর্মপ্রবাহের সাথে বিশৃঙ্খলা সৃষ্টি করে না।

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