बहुत कम से कम मैं हमेशा / etc / vim / vimrc में "सिंटैक्स पर" असहज करता हूं
बहुत कम से कम मैं हमेशा / etc / vim / vimrc में "सिंटैक्स पर" असहज करता हूं
जवाबों:
हमारे CTO में GitHub पर एक बहुत अच्छी सुविधा से भरा Vim विन्यास है ।
मुख्य विशेषताएं:
मुझे रूबी कोडिंग के लिए बहुत अच्छा लगता है, क्योंकि हमारे सिस्टम एडमिनिस्ट्रेशन टूल रूबी में लिखे गए हैं।
सबसे पहले, आप एक जोड़ी मशीनों के साथ आप काम की तुलना में अधिक है, अपने डालने पर विचार ~/.vim/
, ~/.vimrc
और अन्य उपयोगी config फ़ाइलें ( screen
एक संशोधन नियंत्रण प्रणाली में, अपने खोल, आदि)। मैं उपयोग करना पसंद करता हूं darcs
- यह डेबियन सिस्टम पर सस्ता है (हास्केल कंपाइलर स्थापित करने की आवश्यकता नहीं है, बस सीधे पैकेज स्थापित करें), वितरित और महान इंटरैक्टिव मोड हैं। यदि आप जानते हैं / पसंद करते हैं git
, तो आप उसके साथ भी चिपक सकते हैं।
मेरी वर्तमान कॉन्फिग फाइल्स मेरे डार्क्स रिपॉजिटरी में उपलब्ध हैं http://repo.harnir.net/
,। मेरे ~/.vimrc
अनुसरण से कुछ विशिष्ट उदाहरण । क्षमा करें, स्क्रिप्ट के लिए कोई लिंक नहीं है, आदि क्योंकि मैं एक नया उपयोगकर्ता हूं, लेकिन उन सभी को जो आप पा सकते हैं http://vim.org/
।
जब आप दूरस्थ फ़ाइलों को संपादित करते हैं तो एक बैकअप स्क्रिप्ट बहुत जरूरी है। मैं cbackup.vim स्क्रिप्ट का उपयोग करता हूं , जो एक केंद्रीय निर्देशिका में प्रत्येक संपादित फ़ाइल की अंतिम 10 प्रतियां रखता है और स्वचालित रूप से पुराने को हटा देता है - बस अपनी ~/.vim/plugins/
निर्देशिका में डालें और इसके बारे में भूल जाएं :-)
कार्यसूची आप जल्दी के लिए खोज करने देता है FIXME
, XXX
और TODO
वर्तमान फ़ाइल में टैग, उन्हें प्रदर्शित करने और सिर्फ एक कुंजी दबाने के साथ टैग करने के लिए जाना। यदि आप इन टैग का उपयोग करते हैं, तो इसे स्थापित करने पर विचार करें
Dbext सभी DBA के लिए आवश्यक है, डेटाबेस के साथ काम करने वाले प्रोग्रामर के लिए भी बहुत उपयोगी है। आइए आप प्रश्नों को चलाएं, डेटाबेस की संरचना और व्हाट्सएप की जांच करें। यह अनिवार्य रूप जैसे उपकरणों के लिए एक सामने अंत है mysql
, sqlite3
, sqlplus
और अन्य। यदि आप डेटाबेस के साथ काम करते हैं, तो यह बहुत जरूरी है!
मैंने जंगली में कई उपयोगी वाक्यविन्यास नहीं देखे हैं, अधिकांश फाइलें sysadmins के साथ काम करती हैं जो कि कॉन्फ़िगर हैं /etc
और वे आमतौर पर बहुत अच्छी तरह से हाइलाइट किए जाते हैं। ~/.vim/syntax/
वर्तमान में मेरे पास सीएसएस रंगों के लिए वाक्यविन्यास है , जो भयानक (वेब डेवलपर्स के लिए भी अच्छा है), लेकिन बाकी बहुत अच्छी तरह से नहीं लिखा है, मैं शायद खाली समय में उन्हें अपडेट करूंगा। Dhcpd.conf , / etc / network / interfaces , nginx कॉन्फ़िगरेशन फ़ाइलों और SpamAssassin की local.cf के लिए अतिरिक्त सिंटैक्स फ़ाइलें हैं ।
सिंटैक्स के साथ उपयोगी टिप: यदि कोई कॉन्फ़िगरेशन फ़ाइल मान्यता प्राप्त नहीं है (एक अजीब नाम है, जैसे /etc/apache2/sites-enabled/some.domain.com
, आप या तो इसके नाम के सही विस्तार को जोड़ सकते हैं (इस मामले में .conf
) या इसके अंत में एक वीआईएम मॉडलइन जोड़ें:
# vim: filetype = apache
अधिकांश विन्यास विकल्प बहुत लोकप्रिय हैं, जैसे set nocompatible ruler
आदि बहुत अच्छे विकल्प हैं:
set gdefault
: g
मोड को इनवॉयर करता है s///g
- उस विकल्प के साथ /g
डिफ़ॉल्ट रूप से उपयोग किया जाएगा, इसलिए आपको इसे हर बार जोड़ने की आवश्यकता नहीं है - बस इसे बंद करने के लिए जोड़ें
set incsearch ignorecase smartcase hlsearch
: फ़ाइलों के माध्यम से खोज के लिए आवश्यक - वृद्धिशील, वास्तविक समय में मैच दिखाता है, मामले को अनदेखा करता है जब तक कि आप ऊपरी मामले पत्रों का उपयोग नहीं करते
set pastetoggle=<F6>
: या अन्य कुंजी जो आप पसंद करते हैं, बीच paste
- बीच में टॉगल करते हैं, nopaste
यदि आप किसी वेब पेज से कुछ कॉपी-पेस्ट करते हैं जैसे कि सर्वरफायर :-)
set noerrorbells visualbell t_vb=
: कष्टप्रद घंटी या दृश्य घंटी से छुटकारा पाने के लिए हर बार जब आप कुछ करते हैं;)
यदि आप किसी टीम में काम करते हैं, तो अपने उपयोगकर्ता नाम और वर्तमान तिथि को एक फ़ाइल में पेस्ट करें, जो फाइलों में टिप्पणियां जोड़ते हैं कि कब किसने कुछ बदल दिया। बस xxsig
स्पेस लिखिए और प्रेस करिए, इसे कुछ इस तरह बदला जाएगा harnir 20090531
। इसके लिए रूट के साथ सही तरीके से काम करने के लिए (अर्थात इसके बजाय अपना उपयोगकर्ता नाम लिखें root
), आपको उपयोग करने में लॉग इन करना होगा sudo
।
iabbrev xxsig <Esc>: r! इको "$ USER` दिनांक '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
टिप्पणी "लाइनें" डालें, जैसे # -- Some title -------------------{{{1
, लंबाई 78 वर्ण - \com#
सामान्य मोड में दबाएं और वहां यह है। आप स्वचालित रूप से प्रतिस्थापन मोड में होंगे ताकि आप शीर्षक जोड़ सकें:
nmap \ com # O # <Esc> 72A- <Esc> 3A {<Esc> A1 <Esc> <Home> 4 <Right> R <Space>
आप आसानी से अन्य टिप्पणी प्रणाली (के लिए संशोधित कर सकते हैं "
, //
आदि), या बस मेरी कॉन्फ़िग फ़ाइल की जाँच करें।
यदि आपके पास आरसीएस प्रणाली में आपकी कॉन्फ़िगरेशन फाइलें हैं, तो आप कभी-कभी एक निश्चित मशीन के लिए कॉन्फ़िगरेशन विकल्प शामिल कर सकते हैं। उसके लिए, ~/.vimrc.local
फ़ाइल का होना अच्छा है , कॉन्फ़िगरेशन के अंत में स्वचालित रूप से शामिल (यदि यह मौजूद है, तो निश्चित रूप से)।
अगर filereadable (विस्तार ("~ / .vimrc.local")) source ~ / .vimrc.local अगर अंत
वास्तव में यह सुनिश्चित नहीं है कि इसका कौन सा हिस्सा विशेष रूप से संबंधित है, लेकिन मेरी अनिवार्यताएं हैं:
syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
मैं यह भी हमेशा सुनिश्चित करता हूं कि मशीन के पास nginx सिंटैक्स हाइलाइटिंग फ़ाइल तक पहुंच हो ।
यदि आप आम तौर पर किसी उपयोगकर्ता पर काम कर रहे हैं, तो इससे sudo के लिए एक फ़ाइल को "पाइप" करना संभव है ताकि इसे बचाया जा सके।
cmap w!! %!sudo tee > /dev/null %
कमांड का उपयोग करें:
:w!!
sudo envoke और फाइल को सेव करने के लिए।
tee
इसके बजाय आप का उपयोग क्यों करते हैं cat
?
आप इस SO प्रश्न को भी देख सकते हैं: आपके vimrc में क्या है ?
बेशर्म प्लग। यह वास्तव में -vimrc परिवर्तन नहीं है, बल्कि एक VIM प्लगइन है। मैं VIM के हर संस्थापित संस्करण पर RCSVers का उपयोग करता हूँ। मूल रूप से यह आपके द्वारा संपादित किसी भी फ़ाइल के एक संस्करण को बचाने के लिए आरसीएस कमांड का उपयोग करता है। आपको नहीं पता कि मैंने कितनी बार RCSVers को मेरे द्वारा किए गए परिवर्तनों को दिखाते हुए मुझे बचाने के लिए एक कॉन्फ़िग फ़ाइल को खराब कर दिया है।
चूंकि मुझे पता है कि बहुत सारे वीआईएम नए कॉमर्स इसे पढ़ेंगे, मेरे पास सबसे अच्छा सुझाव यह है: "आलसी मत बनो और अपने .vimrc में मैप एंट्रीज डालो।" वीआईएम में चीजों को करने के गैर-मानक तरीके सीखने से आपको ऐसा महसूस होगा। जब आप अपने vimrc के बिना हों तो कुल जिम्प। Vi के लिए सीखने की अवस्था खड़ी है, लेकिन आप खुद को सीखने के लिए नहीं चुनकर कोई एहसान नहीं कर रहे हैं।
मेरे उत्तर का कम से कम एक हिस्सा मेरी प्रोग्रामिंग के समान है ।vimrc:
set hidden
map <TAB> :e#<CR>
map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>
यदि कम से कम कुछ फाइलें जो आप संपादित कर रहे हैं वे आरसीएस में नहीं हैं, तो उन्हें होना चाहिए! :)
सभी "स्मार्ट" इंडेंटेशन मोड को अक्षम करना। प्रोग्रामिंग के लिए महान, कॉन्फ़िगर फ़ाइल के लिए नरक।
मैं अक्सर अजीब मुद्दों को ट्रैक करने के लिए स्ट्रेस का उपयोग करके समाप्त होता हूं। नतीजतन, कुछ लाइनों को हाइलाइट करने के लिए एक बड़ी स्ट्रिंग स्ट्रिंग के साथ हास्यास्पद हो सकता है। यह मामला होने के नाते, मैं सिंटैक्स को 2048 कॉलम तक हाइलाइट करने के लिए सिंटैक्सैक्स = 2048 का उपयोग करता हूं।
मैं टैगलिस्ट प्लगइन का भी बहुत प्रशंसक हूं, जो अत्यधिक टैग का उपयोग करता है। अब तक मैं संकलित ctags बाइनरी के आसपास चारों ओर धकेलने में सक्षम रहा हूं और किसी भी पुस्तकालय के मुद्दों पर नहीं आया हूं। यह जल्दी से मुझे मेरे साथ काम करने वाले किसी भी कोड के बीच नेविगेट करने की अनुमति देता है। वे आम तौर पर पर्ल, पायथन या सी।