> When you need to open a shell in a certain directory, do you use cd or do you navigate using a GUI?
Really depends on the workflow. If I know where I'm navigating then I prefer cd, if I don't then a gui is better than a cd/ls loop. Fortunately programs like ranger cover the latter quite well too.
Another way to navigate with cd is to use tab completion instead of ls. "cd "+tab and you get a listing of files. You might have your shell configured to cycle among the options with tab or select with arrow keys. If you've selected a directory, press "/"+tab and repeat. If you want to go back up a level, quickly hit ctrl+w to delete the last piece of the path (that's the behavior of vi keybindings, emacs keybindings delete the whole path). You might in the end have found the file you want to work with and forego cd by using key shortcuts to quickly navigate to the beginning of the command line and switch the command.
This is great locally or at home, a lot of the time when I'm "browsing" it's on remote windows shares on another continent though, the latency from windows and the network is simply to high for tab completion to be usable, it makes using FTP over dialup seem snappy.
This is through cygwin, real linux is another story. I don't know what the difference is between how windows and linux mount remote drives, but the performance difference is stark, ls on a mounted network drive in linux is essentially instant but there is a noticeable lag doing the same from a windows machine.
I have mostly stopped using cd at all, working with absolute paths + tab almost exclusively. The benefit is that your ctrl + r archive of commands become immediately useful, independent of the current location. It's probably not that useful when you spend the whole day on the command line, but as an occasional visitor I find it quite convenient. I imagine it could make a real difference in a low latency console/high latency filesystem setting, if there is at least some repetition.
I think, I'll try this. It sounds like a good idea, but I wonder if the benefit outweights the cost of having to prefix all paths. It occurs to me that I can make a keybound function that inserts $CWD, so it ends up expanded in the history.
Really depends on the workflow. If I know where I'm navigating then I prefer cd, if I don't then a gui is better than a cd/ls loop. Fortunately programs like ranger cover the latter quite well too.