Para ser especificado, o que eu quero fazer é:
- se eu criar
xxx.php
,#!/usr/bin/env php
será a primeira linha do arquivo - se eu criar
xxx.py
,#!/usr/bin/env python
será adicionado primeiro.
Como posso abordar isso? Obrigado!
linux
vim
automation
SpawnST
fonte
fonte
Não tenho certeza se você pode configurar o vim para fazer isso sem ajuda. Você pode criar um script auxiliar para fazer isso por você.
Assumindo um ambiente linux ... Esse script verificará a extensão do arquivo e, se necessário, criará o arquivo com o cabeçalho antes de chamar o vim.
Você poderia alias este script para ser executado no lugar do vim.
fonte
${interpreter+defined}
quer dizer? Eu tenho que apagar+defined
e fazer funcionar.Existe muitos plugins que oferecem esse recurso. Alguns até permitem deduzir automaticamente várias coisas, ou até mesmo parametrizar o seu cabeçalho, dependendo da pasta onde você está criando o novo arquivo ( modelo mu ).
fonte
Eu realmente gosto da abordagem de definir uma função vim para fazer o trabalho, assim fica muito mais fácil fazer coisas mais complicadas. Por exemplo, se o texto inserido depender do nome do arquivo, como é comumente feito com C / C ++. Meu C / C ++ se parece com isso:
A função get_get_name () forma o nome do gate a partir do nome do arquivo que está sendo editado e, na verdade, varia dependendo do projeto em que estou trabalhando, porque alguns projetos querem que ele seja formatado de uma certa maneira.
fonte
:exe
+:normal
(/:put
) é bastante complicado manter comparando com soluções como mu-template (veja code.google.com/p/lh-vim/source/browse/mu-template/trunk/after/… ). Extrair a função de geração de cabeçalho é muito fácil, desde que o suporte ao Plugin do Expansor de Modelo chame as funções viml "externas".