この質問は、「すべてを端末を介して実行する」という考え方についてです。私はファイルシステムを閲覧するのが非常に非効率的だと思います。私の一般的なワークフローは次のとおりです。
行きたい~/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'
と一般的に使用されるコマンドの両方に対して機能します。 1日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/share
150000個以上のファイル(178038個の一般ファイル基準find
)があるため、初めて実行するときに数秒かかる .indexing に とlet g:ctrlp_max_depth = 10
を追加しました。let g:ctrlp_max_files = 0
.vimrc