I have created
aliases in my
.bashrc for various frequently used long paths but I can not seem to be able to use them inside
vim or with commands such as
E.g the following:
in cli does
But in vim this:
or on the command line:
grep -r string db do not work.
How is this fixed?
I have created
You can set an environmental variable for that directory.
# Making the variable name consist entirely of capital letters makes the # variable less likely to conflict with other variables in scripts. You can # make the variable name consist of lowercase letters but you may run # into problems. export DB=/some/very/long/path/db
Then you can use the exported variable in Vim as such:
and in your shell as such:
grep -r string $DB
The variable-substitution facilities of Vim and bash are entirely independent from each other. Vim just happens to substitute environmental variables in a manner similar to bash (and many other shells).
Aliases let you give a short name to a command and some arguments. They are only expanded where a command is expected. You can't use them to abbreviate the path to a file.
.bashrc is only read by interactive shells, so nothing that you define there will be available in a command typed in Vim.
If you want to have a shortcut to a file or directory, create a symbolic link to it.
ln -s /some/very/long/path/db ~/db grep -r string ~/db vim ~/db/file.java
You can define environment variables to abbreviate any string. Environment variable definitions go into
~/.profile. Not every program expands them, but Vim does when you open a file with
:e (among other things).