Personalizing the workspace

The Linux environment allows for much customization, all of which can be done through configuration/dotfiles files.

Getting Started

As a quick start/reference, you can obtain dotfiles for bash, vim, and tmux at this Github page. This repository can be download by doing a git clone https://github.com/mattpotok/dotfiles.git. When you cd into the dotfile directory, you won't actually be able to see the files because the preceding '.' makes the files hidden. To view them you can do a ls -a.

Installation

After downloading the repository, you can hide the directory by renaming it with a preceding . as follows: mv dotfiles .dotfiles. This will hide the directory when you do an ls, but it can be displayed with an ls -a.

If you are on a personal Linux machine, then you can run sudo ./install.sh. This will run the packages that were deemed necessary, link the dotfiles, and configure vim. There is also an option to generate ssh-keys in the case that you will require them.

If you are on a EWS machine, you don't have sudo access and won't be able to run the script. In this case, you will either have to manually copy or link the necessary dotfiles from the clones repository to you home directory. This can be achieved by doing the following:

cp <dotfilePath>/<dotfile> ~/<dotfile>

OR

ln -sf <dotfilePath>/<dotfile> ~/<dotfile>

OR

ln -f <dotfilePath>/<dotfile> ~/<dotfile>

where the first command copies the file, the second creates a soft link and the third creates a hard link. To understand the difference between hard and soft links, you should read this article. (The install script uses soft links). The recommended dotfiles to copy/link are: .bash_aliases, .bashrc, .tmux.conf, .vim, and .vimrc. In addition to this, you will need to install the the Vundle plugin for Vim because is defined in the .vimrc file and each time you open Vim, it will complain that it can't locate the plugins. To do so just run the following two commands:

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim +PluginInstall +qall

Bash

These are the files that personalize the shell. The files and there functions are listed below:

Vim

Vim is a wonderful command line editor that is highly recommended. Although it has a rather steep learning curve, it will allow you to navigate and edit the file very quickly and efficiently. The vim configuration is controlled by the .vimrc file and .vim directory. The .vimrc file makes use of the Vundle plugin manager which allows for the installation of plugins to extend the usability of Vim. To learn the Vim shortcuts, it is recommended that you complete the exercises in vimtutor (simply type that in the terminal and it will take you to a tutorial) and look at the many cheat sheets available online.

Tmux

Tmux is a terminal multiplexer which allows you to open multiple windows in a single in a single shell instead of having to open up multiple shells. The following page contains a list of tmux shortcuts. Note however, that the .tmux.conf file in the dotfile directory has remapped some of the keys so that the prefix is Ctrl-space instead of Ctrl-b and splits are | for vertical and - for horizontal. Please take a look at the configuration file itself to see any other changes in the shortcuts.

All rights reserved by ECE220@UIUC. Design by Asher Mai & Ivan Abraham.
Last modified: January 09, 2024. Website built with Franklin.jl and the Julia programming language.