Machine
Macbook Pro, 2018 edition, 15.6 inch!
Terminal Config
- Uses zsh instead of bash. (Note, newer macbooks all comes with zsh)
- Using Iterm2.
- Mainly because of the tabs and panels
Oh-my-zsh
- On top of zsh, i am using this to manage my zsh config.
The main reason for using this is the plugins management.
These are my current plugins:
plugins=(
git
git-prompt
docker
iterm2
)
Powerlevel10k
Tree
For writing nice documentation and/or checking my files organization, i like to use tree
In tests, you usually try to mirror your src
directory. Rather than using ls
(list files), you can:
tree .
├── src
│ ├── __init__.py
│ └── hello.py
└── tests
├── __init__.py
└── test_hello.py
2 directories, 4 files
Or if you only one level down,
tree - L 1
(Feel free to change the level of files to show)
.
├── src
└── tests
2 directories, 0 files
the_silver_searcher
Github repo
Suppose within the current directory you want to search for lines of code, you can ag <code> <dir>
. For eg:
ag hello_world .
❯ ag hello_world .
tests/test_hello.py
1:def test_hello_world(x):
src/hello.py
1:def hello_world(x):
CDPATH
To navigate to a directory, you would typically open your terminal in $HOME
, and cd dir1/folder1
.
If you then want to navigate to another in another project, you would then cd ../dir2/folder2
.
Tired of changing paths and managing directory? give CDPATH a try. Add these to your .zshrc
:
CDPATH=:$HOME/dir1:$HOME/dir2
export CDPATH
And you will be able to cd folder1
and cd folder2
from anywhere in terminal!
Launch IDE via cli
I have also enabled cli for the following commands:
command |
purpose |
code |
launch vs code in directory |
charm |
launch pycharm |
subl |
open files in sublime text |
Note: other commands are added to your path as part of installation, such as Anaconda.
Editors
These are my current text editors and markdown editors.
Sublime
Download here
MacDown
This is my markdown editor that has some pretty neat plugins. You can download it here.
Unfortunately, it is only for mac users. I also enable the following two plugins in MacDown.
Programming
R
No explanation required!
Python (Anaconda)
My friend (yxtay) and I wrote this guide as part of setting up python environment. You can check it out here.
IDE
Pycharm
I am generally a fan of jetbrain products and if your company provides the professional license, awesome!
Download here
Useful Links
Vscode
Download here
I recently check out vscode again in 2020 and decided to seriously consider switching to Vscode as my main ide.
This is mainly because of the remote development plugin.
The support remote intepreter
is one of the top requested features.
The Vscode team released this in 2019, featuring on the vscode blog
and ms devblog.
Here is a short gist to illustrate:
Show gist
Useful Links
Rstudio
No explanation required!
Docker
Containers are awesome!
Download here
Postman
I mainly use postman because of the collection features and the nice UI formatting.
Download here
Productivity
Rectangle
Allows me to move and resize my windows with ease, especially when you need to look at documenation and coding at the same time.
Download here