2017-09-22 104 views
0

當我使用vi創建腳本時,它不顯示任何語法高亮顯示。但是,一旦我退出vi並使用vi再次打開腳本,它將突出顯示語法。 我想要的是在創建文件時第一次突出顯示語法。那麼,我的配置有什麼問題,或者這是常見的情況?爲什麼vi在創建腳本時不顯示語法高亮

+0

請發佈「vi --version」命令輸出。 – Ardit

+0

你使用的是'vi'還是'vim',你的配置是什麼? – dlmeetei

+0

確保設置了'filetype'。 –

回答

0

如果Vim打開一個文件,它試圖以猜測文件類型以啓用語法高亮顯示。當你打開一個名爲「myscript」的新文件時,vim沒有任何可以猜測的類型。

當您編寫文件時,您編寫的第一個文件是#!/bin/sh(或類似文件),其後是腳本的其餘部分。至此,vim已經確定這是一個純文本文件,並且不會語法高亮顯示。

當您重新打開文件時,vim會看到文件的第一行,並理解這是一個shell腳本。它適當地設置類型,並且語法魔術。

爲了解決,任一名稱與表明其類型(稱爲「myscript.sh」是,可能的是,一個外殼腳本一個空文件)的擴展名的文件,或手動設置使用:set filetype=sh

類型就我個人而言,我發現第一種形式很醜陋(爲什麼在文件名中包含文件類型?),第二種形式很難記住。我只是關閉並重新打開文件:-)

0

vi通常會猜測從文件擴展名中使用的語法突出顯示類型。如果您正在編輯的是還沒有一個名稱的文件,你需要告訴它如何突出:

:set filetype=html

+0

將.sh添加爲擴展名後。現在突出顯示語法。謝謝!! – Sean