2010-06-03 42 views
0

我目前正在編寫我自己的shell程序。我當前的shell只能執行命令。 我想走一步,並從這個新shell執行vi。我想了解vi編輯器的內部工作原理,但沒有好的網絡文章。vi編輯器的深入研究內容

任何指針或鏈接都會有所幫助。

感謝

回答

1

你是否fork() - > exec()vi的可執行參數爲 然後wait()在父級? (你的外殼)。

你也可以用system()調用來做到這一點。事實上,如果你想看看系統如何工作,請下載glibc代碼。

int main() 
{ 
    system("vi t.lis"); 
    return 0; 
} 
2

你可以得到源代碼:http://ex-vi.sourceforge.net/

我不知道你是什麼意思「從這個新的shell執行VI」。與其他命令有什麼不同?

+0

那麼,當我在新外殼上鍵入vi時,編輯器將啓動,但我無法輸入任何內容。並且還回到新的外殼提示符處等待下一個命令輸入。 我無法在屏幕上輸入任何東西,我的程序只是掛起。 任何線索? – 2010-06-04 16:52:24