5

Vim は内容を含むバッファのファイルタイプを検出できますが、名前がまだありません (まだ保存されていません)。:filetype detectあまりしません。

4

4 に答える 4

6

ほとんどのファイルタイプは、ファイル名(および/または場所)によって検出され、一部(ほとんどの場合、#!シバン行のあるもの)はその内容によって検出されます。

まだバッファを保存したくないが検出されている場合は、を使用してバッファに名前を付けることができます:file name.ext。その後、経由での検出:filetype detectが機能します。

構文の強調表示(および対応するファイルタイプの設定)が必要な場合は、を使用してファイルタイプを手動で設定するだけ:setf nameです。

于 2012-06-08T20:10:32.303 に答える
1

これは手動で行うことができます。

:set filetype=EXT

EXT は必要なファイルタイプの拡張子であり、必ずしも言語自体の名前ではないことに注意してください。

于 2012-06-10T06:53:18.040 に答える
0

のヘルプにvimあるように、たとえば次のように入力すると、場合によっては機能します

#!/bin/sh

その後、スクリプトとして検出されshます。

于 2012-06-08T19:54:21.627 に答える
0

ファイル#!にオンラインのファイルが含まれている場合は簡単です。

例えば:

" finish if the filetype was detected
if did_filetype()
    finish
endif

" Ruby & Python ftplugins
if getline(1) =~ '^#!.*ruby'
    setfiletype ruby
elseif getline(1) =~ '^#!.*python'
    setfiletype python
endif
于 2012-06-08T19:57:05.887 に答える