Como fazer sessões vim usar caminhos relativos?

2

Estou usando essas sessões de sessão:

set ssop=blank,buffers,sesdir,folds,localoptions,tabpages,winpos,winsize

O "sesdir", ao contrário de "curdir", deve armazenar todos os caminhos relativos ao diretório no qual o arquivo de sessão está localizado. Infelizmente, há uma linha no arquivo da sessão:

args absolute/path/to/file1 absolute/path/to/file2 and/so/on

Como eu faço o vim usar somente caminhos relativos para que eu possa colocar o arquivo da sessão em um repositório git e retomar minha sessão de qualquer máquina?

    
por pielgrzym 23.06.2011 / 21:39

2 respostas

1

A solução do grosshat não funciona. Provavelmente precisa se referir a resposta de Zsolt Botyaki sobre SO :

You can't do that without setting up a wrapper function for it, AFAIK.

function! MakeSession()
  let b:sessiondir = getcwd()
  let b:filename = b:sessiondir . '/session.vim'
  exe "mksession! " . b:filename
  exe "edit! " . b:filename
  exe "g:^cd :d"
  exe "x" 
endfunction
    
por 28.08.2015 / 01:32
0

Isso soa estranho. Quando você define sesdir , declara que o local da sessão será definido como diretório de trabalho atual e todo o caminho no arquivo de sessão se tornará caminho relativo em vez de caminho absoluto.

Eu usei sua sessão e ela funciona. Não consigo encontrar nenhuma linha relacionada a caminhos. Como você está criando o arquivo da sessão? Padrão é:

  1. :mksession [filename]
  2. vim -S [nome do arquivo]
por 22.05.2012 / 21:45

Tags