Como o Vim foi lançado e abriu uma pasta específica na inicialização do MacOS?

0

Mudando do TextMate para o Vim, eu gostaria de ter o Vim sendo lançado e abrindo uma pasta específica na inicialização do MacOS?

Manualmente posso iniciar o Vim a partir do shell com mvim someFolder . Eu uso MacOS 10.6 e NERDTree.

Obrigado!

EDITAR :

Lendo e tentando aplicar as respostas propostas (obrigado, a propósito), percebo que provavelmente não estava claro o suficiente na minha pergunta:

Eu quero que o MacVim seja iniciado automaticamente na inicialização e com a abertura de uma pasta específica minha. Mais tarde, durante a minha sessão do MacOS, se por algum motivo eu abrir um novo MacVim, não quero que ele abra essa pasta específica, quero o comportamento padrão do MacVim.

Eu poderia fazer isso com o TextMate indo para Preferências do Sistema MacOS, Contas, Itens de Login e adicionando aqui o meu arquivo de projeto TextMate. Como este arquivo de projeto estava associado ao TextMate, bastava ter o TextMate iniciado automaticamente na inicialização e exibindo essa lista de arquivos de projeto.

Existe uma maneira de conseguir isso com o Vim?

    
por Florent2 30.03.2011 / 00:36

5 respostas

2

Se você quiser que o MacVim abra a pasta sempre que quiser, adicione um alias ao seu .profile ou .bashrc da seguinte forma:

alias vimm='mvim /path/to/some/folder'

Dessa forma, você ainda pode iniciar o MacVim para alguma tarefa não relacionada ao conteúdo de sua pasta (como editar seu .profile ou algum arquivo de configuração) com o comando mvim regular.

    
por 30.03.2011 / 09:10
1

Para abrir o NERDTree no diretório específico, você pode adicionar a seguinte linha ao seu ~/.gvimrc (ou ~/.vimrc se quiser que ele funcione também no console):

au VimEnter * NERDTreeToggle /path/to/your/folder/
    
por 30.03.2011 / 00:50
1

Para fazer este lançamento na inicialização, você terá que passar por alguns obstáculos.

Crie um arquivo de sessão usando .vims como extensão:

Abra o MacVim e abra qualquer / todos os arquivos / guias / NERDTrees que você gostaria de abrir. Salve isso em uma sessão com a extensão .vims :

mksession! ~/Desktop/project.vims

Isso pode ser feito em qualquer diretório que você queira, estou apenas usando a área de trabalho para facilitar o uso.

Crie um aplicativo do Automator:

Abra o Automator e crie um novo aplicativo personalizado. Adicione uma ação "Executar Shell Script" ao seu fluxo de trabalho. Altere o Shell para /usr/bin/ruby e altere a opção "Passar entrada" para "como argumentos" e cole este código no corpo da ação:

file_name = ARGV[0].split(' ').join('\ ')
command = %Q!/usr/local/bin/mvim -S "#{file_name}"!
system(command)

Verifique a localização de mvim com which e atualize conforme necessário. Salve o fluxo de trabalho (coloquei em ~/Desktop/SU ) e mude o "Formato de Arquivo" para "Aplicativo".

Associe seu aplicativo do Automator a arquivos .vims .

Clique com o botão direito do mouse em ~/Desktop/project.vims e selecione "Get Info". Em "Abrir com:", selecione seu aplicativo Automator e diga "Alterar tudo ...".

Insira seus itens de login.

Abra as Preferências do Sistema, Contas, Seu Usuário e selecione a guia "Itens de Login". Arraste seu arquivo ~/Desktop/project.vims para a lista.

Feito!

Faça o logout e volte e o MacVim deve abrir automaticamente.

Limitações.

Por algum motivo, o Automator continua em execução durante esta sessão, se o VIM estiver ativo. Se alguém souber como consertar isso, por favor me avise.

    
por 30.03.2011 / 19:04
1

Você pode criar um applescript para executar um comando shell e adicioná-lo aos seus itens de inicialização

-- Open MacVim
do shell script "/path/to/mvim /path/to/folder"

ou

    -- Open Vim on the terminal
    tell application "Terminal"
        activate
        do script "/path/to/vim /path/to/folder"
    end tell

usando o editor AppleScript.

    
por 30.03.2011 / 01:07
0

O que eu acho mais útil é abrir os arquivos do projeto em abas usando o NERDTree e então fazer um arquivo de sessão:

mksession! project.vim

O ponto de exclamação é sobrescrever o project.vim anterior, caso você adicione um novo arquivo ao projeto. Então, toda vez que eu quiser ligar o vim, eu só preciso ligar:

vim -S project.vim

Eu acho que você poderia criar o project.vim diretamente no vimrc para uma abordagem mais automatizada.

    
por 30.03.2011 / 01:30

Tags