Set Up Vi/m Dotfiles Configuration Subdirectory
Single File, 100% Portable, No Blocking Dependencies
Make sure you have setup your dotfiles repo.
Change into your dotfiles
repo.
cd ~/repos/gitlab.com/rwxyou/dotfiles
Create a vim
subdirectory inside of your dotfiles
directory.
mkdir vim
Change into the vim
directory.
cd vim
Create or obtain a Vi/m configuration file and place within directory as vimrc
.
curl -LO https://rwx.gg/tools/editors/vi/vimrc
Create a setup
script.
touch setup
chmod u+x setup
vi setup
Have it print Configuring Vim
for now.
#!/bin/bash
echo Configuring Vim
Run it to test.
./setup
Configuring Vim
Add a line to create a symbolic link from your $HOME
directory to the local vimrc
file. Don’t forget the full paths in the command. You can also add another line to confirm that the link was created successfully.
#!/bin/bash
echo Configuring Vim
ln -s "$PWD/vimrc" "$HOME/.vimrc"
ls -la ~/.vimrc
Run it to create your link.
Configuring Vim
lrwxrwxrwx 1 sample sample 55 May 27 22:12 /home/rwxrob/.vimrc -> /home/rwxrob/repos/gitlab.com/rwxyou/dotfiles/vim/vimrc
That’s it. You should just be able to edit any file now to see the differences.
Note that the first time your vim
runs it might need to download some things to configure itself. Don’t be alarmed.
You might also want to add a README.md
describing the process of how to run ./setup
and perhaps make your dotfiles directory public so you can share your configuration with others.
If you want to get really fancy, you can actually add some code to detect if the full vim
is on the system and prompt to have it installed and run vim
for the first time to that it downloads and sets up the plugins before you run it later for the first time. Here’s the full script:
#!/bin/bash
if [[ -z "$(which vim)" || -z "$(which vimtutor)" ]]; then
echo Need to install full vim.
exit 1
fi
echo Configuring Vim
ln -sf "$PWD/vimrc" "$HOME/.vimrc"
ls -l "$HOME/.vimrc"