파일 시스템을 효율적으로 탐색하는 방법은 무엇입니까? [폐쇄]

파일 시스템을 효율적으로 탐색하는 방법은 무엇입니까? [폐쇄]

이 질문은 "모든 것을 터미널을 통해 수행"하는 사고방식에 관한 것입니다. 나는 파일 시스템을 탐색하는 것이 매우 비효율적이라고 생각합니다. 내 일반적인 작업 흐름은 다음과 같습니다.

나는 가고 싶다 ~/foo/bar/boo/far/my/project/file.txt

cd ~
cd foo/b...???
# okay, I won't quite remember what bar was called
# let me just go to "foo" and view it
cd foo
ls
# Oh, it was bar
cd bar
# Now, what was after bar again?
ls
# boo, that is it.
cd boo
pwd
ls
cd for
cd my
# ERROR: my not found
ls
# at this point I'm kinda lost where I am
pwd
cd ..
cd far
cd my
cd pro<tab>
cd proj<tab>
cd proje<tab>
# wtf am I in the wrong directory again?
ls
# notice there is a directory called projectiles, that's why it doesn't work
cd project
vim fi<tab>

이제 ~/foo/bar/boo/settings.txt로 이동하고 싶습니다.

cd ../../..
vim set<tab>
# notice I'm editing a completely different file
# wtf
# :q
ls
# oh I'm in the wrong place
pwd
cd ..
vim set<tab>
# :q
# Done!

완벽한 세계에서는 그냥 입력할 수도 있지만 vim ~/foo/bar/boo/far/my/project/file.txt실제 작업 흐름에서는 문자 손실 없이 프로그램의 소스 코드를 0행부터 마지막 ​​행까지 입력하는 것과 동일합니다. 이것이 지금 작동하는 방식입니다. 일종의 상호 작용이 필요하며 이는 점진적이고 지저분한 프로세스입니다. 를 사용하고 cd있는데 ls이는 pwd나에게 매우 비효율적입니다.

더 좋은 방법이 있나요? 내가 뭐 놓친 거 없니?

답변1

이러한 문제를 해결하는 데 도움이 되는 다양한 옵션이 있습니다.

  • 별칭 사용

    • 예를 들어 일반적으로 사용되는 디렉터리 alias q='cd /home/durrantm/Dropbox/94_2015/work/code/ruby__rails/ruby/ruby_quiz'와 일반적으로 사용되는 명령 모두에 대해 작동합니다. 하루에 100번씩 타이핑을 하면 alias p=pwd삶이 더 편해질 수도 있습니다 . pwd단일 문자 별칭은 제가 가장 좋아하는 트릭 중 하나입니다.
  • 현재 위치를 표시하는 데 도움이 되도록 PS1 팁을 맞춤 설정하세요(PS1 팁 검색). 이 내 꺼야: 여기에 이미지 설명을 입력하세요. 특징:

    • 처음 3개와 마지막 2개 디렉터리 표시(레벨이 5개 이상인 경우 가운데에 밑줄이 그어짐)
    • 실제 프롬프트가 새 줄에 있도록 캐리지 리턴이 있습니까?
    • 색상을 사용하여 다양한 정보 표현
    • Git 프로젝트에 있을 때 내 Git 분기를 표시합니다.
    • Ubuntu 및 OSX에서 작동합니다(매일 사용합니다).
    • 날짜, 사용자 및 컴퓨터 표시

    자세한 내용은 다음을 참조하세요.https://unix.stackexchange.com/a/127800/10043

  • muru에 표시된 것처럼 vim에서 ctrl-p를 사용하십시오.

  • 자동 점프 설치 및 사용(https://github.com/wting/autojump) 방문한 명령줄 디렉터리를 기억합니다. 이것이 당신에게 잘 맞을 수도 있습니다.

  • 명령줄 퍼지 파인더도 귀하의 스타일에 적합할 수 있습니다. 자세한 내용은 을 참조하세요.https://github.com/junegunn/fzf

  • cdpath(Z Shell의 메뉴 형식 디렉터리 완성) 및 Z Shell의 autocd 옵션과 같이 더 많은 내장 지원과 더 나은 옵션을 제공하는 경향이 있는 z-shell을 사용하세요.

답변2

을 사용하는 경우 vim사용을 고려하세요.CtrlP 플러그인. 디렉터리에서 파일을 처음 실행할 때 파일을 색인화하는 데 시간이 걸릴 수 있지만 그 이후에는 매우 빠릅니다. 전체 경로와 일치하므로 경로의 특정 부분을 정확하게 기억하는 한 유용합니다. 여기에서 파일을 찾습니다 /usr/share.

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

/usr/share150000개 이상의 파일(178038개 일반 파일 기준 find)이 있으므로 처음 실행할 때 몇 초가 걸리는 .indexing 에 let g:ctrlp_max_depth = 10및를 추가 했습니다.let g:ctrlp_max_files = 0.vimrc

관련 정보