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.


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:



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'


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

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.