ভিএম এর ডিস্ক থেকে বাফারে সমস্ত ফাইল রিফ্রেশ করুন


123

ডিস্কের সংস্করণ থেকে একটি ফাইল রিফ্রেশ করার কমান্ডটি :e!

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

পটভূমি: আমার এটি দরকার কারণ আমি একাধিক শাখার সাথে গিট ব্যবহার করছি যা একটি বাফ খোলা রয়েছে যাতে একটি বাফার থাকে। যখন আমি একটি শাখা চেকআউট করি, আমি ভিম রিফ্রেশ করতে চাই।

উত্তর:


87

এর জন্য ডকুমেন্টেশন পড়ুন bufdo, এটি আপনার যা করা উচিত তা করা উচিত।


33
ঠিক আছে তাই, বুফডো ই! এটা করবে। তবে প্রতিবার একটি প্রম্পট লোড (ওয়াই / এন) থাকে। আমি কীভাবে এ থেকে মুক্তি পাব?
বিজয়

21
ব্যবহার করুন set noconfirmব্যবহার করার পূর্বে bufdo(কমান্ড set confirmreanable করার পরে)।
pmf

22
bufdo eকৌতূহলীভাবে সমস্ত বাফারগুলি আন-সিনট্যাক্স-হাইলাইট করা ছেড়ে দেয়
স্টিভেন লু

4
নীচে নীচে পলফেনির উত্তর চেক করুন স্টিভেনলু
DBedrenko

12
লোকেরা কেন এটিকে ভোট দিচ্ছে? এটি কেবল কোনও উত্তর নয়, এটি আপনাকে যে দিকে পরিচালিত করে তার অর্থ আপনার সিনট্যাক্স হাইলাইট করা পুনরায় লোডের পরে অক্ষম হয়ে যায়।
দিমিত্রি মিনকভস্কি

120

:checkt[ime]কমান্ড এই খুব উদ্দেশ্যে ডিজাইন করা হয়েছে।

এটি আপনাকে পরিবর্তিত কোনও বাফার পুনরায় লোড করতে অনুরোধ করবে; আপনি যদি প্রম্পটটি এড়িয়ে যেতে চান তবে আপনি :set autoreadআগেই করতে পারেন (আপনি স্থানীয় সুরক্ষিত পরিবর্তনগুলি সহ বাফারগুলিতে একটি প্রম্পট পাবেন)।

এটি গ্রহণযোগ্য উত্তরে স্টিভেন লু দ্বারা উল্লিখিত সিনট্যাক্স হাইলাইটিংয়ের বিষয়টিও এড়িয়ে যায়; :bufdoডিজাইনের মাধ্যমে সিনট্যাক্স হাইলাইটিং বন্ধ করে দেয়

এর মাধ্যমে পাওয়া গেছে: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-hightlighting-on-displayed-buffers-tp1209995p1209998.html


19

আমার .vimrc এ আমি যা দিয়ে শেষ করেছি তা এখানে:

fun! PullAndRefresh()
  set noconfirm
  !git pull
  bufdo e!
  set confirm
endfun

nmap <leader>gr call PullAndRefresh()

7

থেকে :help autoread:

যখন কোনও ফাইল ভিমের বাইরে পরিবর্তন করা হয়েছে এবং ভিমের অভ্যন্তরে এটি পরিবর্তন করা হয়নি তখন তা স্বয়ংক্রিয়ভাবে আবার পড়ুন। ফাইলটি মোছা হয়ে গেলে এটি করা হয় না।

যদি, আমার মতো, আপনি কেবল সর্বদা নিষ্ক্রিয় করতে চান বাসি-তবে-মোড-না-করা বাফারগুলি পুনরায় লোড , তবে মনে হয় এটি কাজটি করা উচিত।

তবে চূড়ান্ত বিবরণটি যখন ভিএম বাসি বাফারটি লক্ষ্য করে। যে বাধ্য করা যেতে পারে checktime। আপনার যদি ফোকাস ইভেন্টগুলি সেট আপ করা থাকে , তবে আমরা checktimeযখনই এর মতো ফোকাস অর্জন করি তখন আমরা চালাতে পারি:

set autoread
autocmd FocusGained * checktime

এই উত্তরেও কিছু আকর্ষণীয় বিশদ রয়েছে।


0

@ ম্যাথহে এস হিসাবে এখানে https://vi.stackexchange.com/a/462 উল্লেখ করা হয়েছে , আপনি ব্যবহার করতে পারেন:

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