सेटिंग्स को सिंक्रोनाइज़ रखने के लिए क्या विम के क्लाइंट्सर फ़ंक्शनलिटी का उपयोग करना संभव है?


11

मेरे पास आमतौर पर एक ही मशीन पर चलने के कई उदाहरण हैं। जब मैं अपने vimrc में बदलाव कर सकता हूं तो मैं बस :source ~/.vimrc(एक आसान मैपिंग या एक ऑटोकैम के साथ) कर सकता हूं। लेकिन सभी चल रहे उदाहरणों के क्रम में मुझे उन सभी में अलग-अलग होने वाले परिवर्तन को प्रतिबिंबित करना होगा। क्या मैं clientserverअपने vimrc को पुनः लोड करने के लिए सभी उदाहरणों को बताने के लिए सुविधा का उपयोग कर सकता हूं ?

मुझे उन समाधानों में भी दिलचस्पी होगी जो उपयोग नहीं करते हैं clientserver

जवाबों:


7

आप Vimrc फ़ाइल को पुनः लोड करने के लिए एक विम सर्वर बता सकते हैं:

$ vim --servername MARTIN --remote-send '<Esc>:source $MYVIMRC<CR>' 

और आप सभी सर्वरों की सूची प्राप्त कर सकते हैं:

$ vim --serverlist
MARTIN
CARPETSMOKER

जिसे एक forलूप के साथ जोड़ा जा सकता है :

$ for s in $(vim --serverlist); do vim --servername "$s" --remote-send '<Esc>:source $MYVIMRC<CR>'; done

चूंकि यह बहुत अधिक टाइपिंग है, आप इसे शेल स्क्रिप्ट में डाल सकते हैं ~/bin/reload-vimrc; आप निश्चित रूप से इसे विम के भीतर से भी कॉल कर सकते हैं:

:!reload-vimrc

यदि आप लिनक्स चला रहे हैं, और वास्तव में पागल होना चाहते हैं, तो आप बदलावों के लिए अपनी vimrc फ़ाइल (ओं) की निगरानी करने के लिए inotify-toolsinotifywatch से उपयोग कर सकते हैं , और हर परिवर्तन पर यह स्वचालित रूप से निष्पादित करते हैं (अप्रकाशित, उदाहरण manpage से अनुकूलित)

$ inotifywatch -v -e modify -t 60 -r ~/.vimrc ~/.vim

मैं इसकी अनुशंसा नहीं करूंगा, हालांकि ... यदि आप गलती से एक सिंटैक्स त्रुटि वाली फ़ाइल को सहेजते हैं, तो आप अपने सभी सत्र को हटा सकते हैं ...


-1

मैं ग्राहकों के बारे में नहीं जानता, लेकिन जब से आपने कहा था कि आप अन्य समाधानों में रुचि रखते हैं, तो मैं गीथब से डॉटफाइल्स के बारे में इस राइटअप को देखने की सलाह दूंगा।

https://dotfiles.github.io

आपको स्पष्ट रूप से जीथब का उपयोग करने की आवश्यकता नहीं है, लेकिन अवधारणाएं ध्वनि हैं और व्यापक रूप से उपयोग की जाती हैं।


जबकि मुझे लगता है कि संस्करण नियंत्रण के तहत आपका डॉटफ़ाइल्स होना भयानक है, मैं विशेष रूप से उसी मशीन पर चलने के उदाहरणों के बारे में पूछ रहा था (मैंने प्रश्न को अपडेट किया है)।
xthrd 21

1
-1; इस प्रश्न का वास्तव में पूछे गए प्रश्न पर कोई असर नहीं पड़ता है। सवाल vimrc को फिर से लोड करने के बारे में है , vimrc को प्रबंधित करने का नहीं ।
मार्टिन टूरनोइज

मेरे उत्तर से पहले के मूल प्रश्न ने यह स्पष्ट नहीं किया कि वह एक ही मशीन पर उदाहरणों के बारे में बात कर रहा था। उस समय मेरे जवाब ने सवाल का जवाब दिया।
tgrosinger
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.