Encontre o tipo de arquivo carregado no vim

224

Assim que carregar qualquer arquivo no vim, ele tentará detectar o arquivo e realçá-lo em cores, se possível.

Quero conhecer um comando vim que me diga qual ftplugin ou Filetype plugin / filetype é vim considerando destacar o arquivo.

ruturaj
fonte
O vim não faz isso automaticamente?
ereOn
Se você colocar um vimscript em ~ / .vim / ftplugin /, ele criará esse vimscript quando um arquivo do tipo de arquivo correspondente for carregado. Então coloque setlocal cursorlineno ~/.vim/ftplugin/python.vime você terá linha atual destacando em arquivos python. Veja :help ftplugine:help after
idbrii 12/06

Respostas:

365

:set filetype?

hobbs
fonte
39
Você pode salvar algumas teclas e usar apenas:set ft?
Matthew Rankin
35
:se ft?- Eu ganhei. ;)
sjas
39
:se ft? Eu venci!
Fábio Santos
O SO requer um tamanho mínimo de comentário, portanto, pode não ser óbvio que o menor prazo termina após o t. ? é opcional.
reergymerej 23/01
15

Você também pode adicionar o tipo de arquivo à linha de status ou ao título da janela usando os itens %ye %Y. Vejo

:help 'statusline'
:help 'titlestring'
Nefrubyr
fonte
2

Quando eu queria encontrar o tipo de arquivo, era porque eu estava tendo a extensão .ipy modificando um script ipython. As perguntas e respostas acima funcionaram muito bem para ver que a extensão ipython não estava sendo tratada como python (algo óbvio). Assim, eu queria forçar a definição do tipo de arquivo e achei isso no site sempre helfpul vim. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Adicionando o abaixo ao seu .vimrc funciona

au BufRead,BufNewFile *.ipy set filetype=python
Paulo
fonte
2

Como você está fazendo / pesquisando essa pergunta em primeiro lugar, presumo que você faça isso porque o seu vim de alguma forma não destaca automaticamente a sintaxe apropriada para você, e você está tentando descobrir o porquê e como corrigi-lo.

O comando :set filetype?na resposta escolhida basicamente pergunta ao vim "ei, que tipo você acha que o arquivo atual é". E se o vim não estiver exibindo cores / realces adequados, provavelmente sua resposta será exibida filetype=na parte inferior do console, o que significa que o vim não conhece o tipo de arquivo. Isso é apenas metade da sua missão.

Logicamente, seu próximo passo será dizer ao vim "apenas destaque-o usando (por exemplo) a sintaxe ps1". Você faz isso digitando :set filetype=ps1, agora o vim destacará o arquivo atual usando o estilo ps1 (desde que você já baixe o arquivo de sintaxe do powershell adequado e o coloque em sua ~ / .vim / sintaxe ).

Neste ponto, você provavelmente desejará destaque de sintaxe automática a partir de agora. A solução é colocar um script de detecção correspondente na pasta ~ / .vim / ftdetect. Por exemplo, se você deseja destacar todos os scripts do PowerShell .ps1, .psm1 etc., coloque esse arquivo em seu ~ / .vim / ftdetect

Agora esse é um final feliz.

RayLuo
fonte