`bash` will not save history if this directory doesn't exist - it will
create the file but not the directories in the path.
Just to be safe, we do the same for `less`.
As I am creating new keys with the ed25519 type, the constraint was
inconvenient. I now let SSH use the default, which will use either RSA
od ED25519, whatever is available.
Previously the global namespace of all interactive python session were
polluted with all the stuff we did in this initialization script. For
example, globals()['__doc__'] would show the docstring from this file.
While none of this was ciritical, it could be confusing sometimes. So
this commit fixes that.
This bug caused entries to not be removed if they were already present
in the beginning of the list before being prepended. This could lead to
duplication of entires, usually this ended up being /usr/local/bin.
Since the old ports I was using are now no longer accessible from work,
I had to change to the following:
- 143/imap for SSH logins and tunneling
- 587/smtp for access to git repos over SSH
Hopefully these ports will stay open because they are common services.
The default value is:
let g:ctrlp_working_path_mode = 'ra'
which means:
a - like "c", but only applies when the current working directory outside of
CtrlP isn't a direct ancestor of the directory of the current file.
r - the nearest ancestor that contains one of these directories or files:
.git .hg .svn .bzr _darcs
So this makes it more convenient to work within repositories, which is
what I mostly do anyway.
Previously we only checked if the new directory was already in the PATH
and, if yes, didn't prepend it. This can cause the new directory to be
in an unexpected position.
Now we first remove any occurrences of the new directory (to prevent
duplication) and prepend it so it's in the position we expect.
Two main changes:
- avoid 2 additional fork() calls by evaluating \j instead of using
$(jobs | wc -l) -> one fork for subshell and another for `wc`.
- make the build up of the prompt a bit more modular by using an
array to collect the pieces and "sort of" join them in the end.
Avoiding starting many processes during creation of the PS1 string makes
the shell much more responsive, especially under Cygwin, which has
problems with fork().