Deixando o VIFM de tal maneira que o diretório do terminal seja o mesmo que o último diretório VIFM visitado

1

Estou tentando alcançar o que foi descrito no título. Segui essas instruções ( link ), mas elas não funcionaram. Aqui estão as instruções que eu segui:

  1. Add special command to vifmrc command Q :execute '!echo %d > ~/.vifm/lastdir' | quit
  2. Add an alias to .bashrc alias vifm='source ~/bin/vf'
  3. Save the following script to ~/bin/vf if [ -f ~/.vifm/lastdir ]; then rm ~/.vifm/lastdir fi /usr/local/bin/vifm "$@" if [ -f ~/.vifm/lastdir ]; then cd cat ~/.vifm/lastdir fi

Sou mais cético em relação a (3). Eu tive que criar uma pasta "bin" no meu diretório home e, em seguida, criar um arquivo "vf" dentro do novo "bin" para colocar o texto descrito em (3). Eu procedi corretamente aqui?

    
por George 05.10.2014 / 22:32

1 resposta

2

Talvez uma reformatação do script desejado seja útil aqui. Deve ser exatamente como o seguinte:

~ / bin / vf

if [ -f ~/.vifm/lastdir ]; then
    rm ~/.vifm/lastdir
fi
/usr/local/bin/vifm "$@"
if [ -f ~/.vifm/lastdir ]; then
    cd "'cat ~/.vifm/lastdir'"
fi

Observe, em particular, as marcações reversas em torno do comando cat na penúltima linha, que parecem ter desaparecido da sua versão e são bastante importantes. Eu também adicionei " extra em torno do argumento para cd caso seu diretório atual tenha espaços.

Este é realmente um truque terrível para fazer o seu programa parecer que está fazendo algo que programas normalmente não conseguem fazer. Mas, se isso ajudar você a trabalhar, ótimo.

    
por 05.10.2014 / 22:47

Tags