2012-07-10 11 views
10

मेरा टर्मिनल विम कॉन्फ़िगरेशन ~/.zshrc लोड नहीं कर रहा है। Zsh पर्यावरण लॉगिन खोल है। इस स्थिति के लिए उचित विन्यास क्या है?टर्मिनल विम लोड नहीं हो रहा है .zshrc

यहाँ कुछ उपायों मैं पहले से ली गई हैं और जब से हटाया:

set shell=zsh
(शेल के रूप में zsh उपयोग करता है लेकिन आर सी स्रोत नहीं है)

set shellcmdflag=-ci
(सभी उत्पादन निलंबित)

cat ~/.zshenv
$ source ~/.zshrc
(कई त्रुटियों खोलते vim)

उत्तर

8

मैनुअल से:

Commands are first read from /etc/zshenv; this cannot be overridden. 

[...] 

Commands are then read from $ZDOTDIR/.zshenv. If the shell is a 
login shell, commands are read from /etc/zprofile and then 
$ZDOTDIR/.zprofile. Then, if the shell is interactive, 
commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally, 
if the shell is a login shell, /etc/zlogin and $ZDOTDIR/.zlogin are 
read. 

से मैं क्या समझ,

set shell=zsh\ -i 

काम करना चाहिए।

+3

'set shellcmdflag = -ci' में दूसरा आदेश है। जब मैं कोशिश करता हूं, तो सभी आउटपुट निलंबित कर दिया जाता है। –

+0

'-ci' या' -i' सही झंडे हैं। क्या आपका मतलब है कि विम निलंबित कर दिया गया है और आप खोल के संकेत पर हैं? यह टर्मिनल में विम का अपेक्षित और सामान्य व्यवहार है। आप इसे बिल्कुल बदल नहीं पाएंगे। जीवीम/मैकवीम में, 'कर रहे हैं! '' के आउटपुट को पढ़ने के लिए आपके लिए कमांड लाइन को एक प्रकार के गूंगा टर्मिनल में विस्तारित करता है। यदि यह व्यवहार है तो आपको GVim/MacVim पर स्विच करना होगा। – romainl

+8

या तो 'सीआई' या 'सी' झंडे के साथ, आदेश' 21195 निलंबित (टीटीई आउटपुट) vim 'जैसे कुछ खत्म होते हैं और मुझे zsh shell प्रॉम्प्ट पर छोड़ दिया जाता है। मुझे अपेक्षित परिणाम प्राप्त करने के लिए 'fg' टाइप करना होगा। –

6

स्वीकृत उत्तर अपेक्षित काम नहीं करता है। वास्तविक समाधान उपनाम और अन्य ~/.zshrc सामग्री ~/.zshenv में डालना चाहिए। ~/.vimrc में आवश्यक एकमात्र चीज set shell=zsh है बिना किसी झंडे के।

+0

मैन्युअल प्रविष्टि उस समस्या को हल करने के लिए आवश्यक अंतर्दृष्टि प्रदान करती है। मेरी समस्या आदेशों के पढ़ने के आदेश से संबंधित थी। कहीं भी समस्या के रूप में उल्लिखित उपनाम थे। –

+2

थोड़ा सा आसान। एक सिम्लिंक 'ln -s ~/.zshrc ~/.zshenv 'जोड़ें –

0

मुझे एक आसान समाधान मिला। के रूप में केवल एक चीज मैं वास्तव में जरूरत है अपने सभी उपनाम है, मैं अपने ~/.zshrc फाइल करने के लिए एक समारोह कहा:

function zshalias() 
{ 
    grep "^alias" ~/.zshrc > ~/.zshenv 
} 

तब निष्पादित source ~/.zshrc && zshalias

अपने vimrc में आप केवल जरूरत है:

shell=zsh 

सब कुछ तो कोई निलंबित tty उत्पादन के साथ पूरी तरह से काम करता है!

संबंधित मुद्दे