터미널 디렉토리가 마지막으로 방문한 VIFM 디렉토리와 동일하도록 VIFM 종료

터미널 디렉토리가 마지막으로 방문한 VIFM 디렉토리와 동일하도록 VIFM 종료

제목에 설명된 내용을 달성하려고 노력 중입니다. 나는 다음 지시를 따랐다(http://sourceforge.net/p/vifm/feature-requests/24/) 그러나 그들은 작동하지 않았습니다. 내가 따른 지침은 다음과 같습니다.

  1. vifmrc 명령에 특수 명령 추가 Q :execute '!echo %d > ~/.vifm/lastdir' | 그만두다
  2. .bashrc alias vifm='source ~/bin/vf'에 별칭 추가
  3. 다음 스크립트를 ~/bin/vf에 저장합니다. if [ -f ~/.vifm/lastdir ]; 그런 다음 rm ~/.vifm/lastdir fi /usr/local/bin/vifm "$@" if [ -f ~/.vifm/lastdir ]; 그런 다음 cd cat ~/.vifm/lastdir fi

나는 (3)에 가장 회의적이다. 내 홈 디렉터리에 "bin" 폴더를 만든 다음 새 "bin" 내에 "vf" 파일을 만든 다음 (3)에 설명된 텍스트를 배치해야 했습니다. 여기서 올바르게 진행했나요?

답변1

어쩌면 터미널로 가야만 할까요? 그냥 vifm에서 해보세요

:sh

vifm에 들어가야 한다면 이것을 만들어야 합니다.

exit <OR> ctrl-D

하지만 이 터미널에 입력한 것과 동일한 디렉토리에 vifm을 입력합니다.

답변2

아마도 원하는 스크립트를 다시 포맷하는 것이 여기에서 도움이 될 것입니다. 이는 정확히 다음과 같아야 합니다.

~/빈/vf

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

특히 cat마지막에서 두 번째 줄의 명령 주위에 있는 역방향 눈금 표시에 주목하십시오. 이는 귀하의 버전에서 누락된 것으로 보이며 다소 중요합니다. 또한 현재 디렉터리에 공백이 있는 경우를 대비하여 "인수 주위에 추가 내용을 추가했습니다 .cd

이것은 프로그램이 일반적으로 할 수 없는 일을 하는 것처럼 보이게 만드는 정말 끔찍한 해킹입니다. 하지만 작업을 완료하는 데 도움이 된다면 좋습니다.

답변3

vifm에서 원하는 디렉터리로 이동합니다. 그리고 를 입력합니다 :e. 그런 다음 :terminal.

관련 정보