Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Dropping the ls, ok. But cd conveys relevant context.

It would be really clever if a series of cd/ls rolled into a final absolute path cd so history shows context for the subsequent batch of commands.



If you find yourself doing a series of `cd` and `ls` commands frequently, I feel like you might be using `cd` and tab completion ineffectively.

Instead of doing:

    ls
    cd foo/
    ls
    cd bar/
    ls
    cd baz/
You can do:

    ls
    cd foo/<tab><tab>bar/<tab><tab>baz/
This isn't what it will look like, it's just the key sequence (if this doesn't make sense let me know and I'll try to explain better). <tab><tab> will list all the possible completions, which is equivalent to an ls, without having to type in an ls and then another cd.

You can frequently avoid even more `cd`/`ls` shenanigans by judiciously using `pushd`.


Tab autocomplete will show everything, and showing a screen full of name is not particularly useful. Most of the time I use ls it's something like "ls (asterisk)foo(asterisk)".

How do I escape asterisk on HN? :O


In zsh, you can complete a glob.


bash too


But if there are multiple candidate completions, you don't get a list of them, the way you do from <tab> <tab> with no glob - it just completes unconditionally to the first candidate.


Edit: I had a guess about how to escape asterisks here, and it didn't work!


You can so the same with tab . Eg foo/(asterisk)bar<tab><tab>


I just do:

function cd () { builtin cd "$@" && ls; }


Can you not set the template line for log entries? Seems like $(pwd) could go alongside time stamp.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: