New laptop setup and learnings - Dec 2022

New laptop setup



Helpful Apps you need to download (for any stack):

  1. Package manager - homebrew
  2. Get an IDE (VSCode)
  3. Git
  4. Iterm2 (oh my zsh —using zsh command line)
  5. Node (install nvm)
  6. Docker (optional)
  7. Rectangle (free window manager for MacOs - purchased “Magnet” from AppStore)
  8. TMUX (terminal multiplexing)



Python development:

  1. Python3 installation (using brew — sometimes comes with python3 installed)
  2. Pyenv (to install python versions — also installs pip)


Learning opportunities

  1. Bash (different types of shell)
  2. Alfred
  3. Vim



Setup VSCode

  1. Plugins/Extensions
    1. LiveShare
    2. GitLens (more power to Git - tried/optional)
    3. Prettier (Optional formatting - formats on save)
    4. Cascade icons from Microsoft (style component)
    5. REST client (said it was like Postman)
  2. Python language extension 
  3. Vim plugin (optional)



Difference between shell (bash and zsh)

  1. Zsh - (Z shell) is an extension over bash that has many extensions and introduced in 1990
    1. https://zsh.sourceforge.io
  2. Bash - Bourne-again shell - released in 1989
    1. https://www.gnu.org/software/bash/
  3. Major difference is customizability(plugins/autocompletion/tab controls/POSIX complaint/floating-point support etc..) in zsh
  4. Zsh has more features than standard bash
  5. Another popular shell available is fish

https://apple.stackexchange.com/questions/361870/what-are-the-practical-differences-between-bash-and-zsh



Vim tutorial

  1. Install vim 8/9 or neovim
  2. Plugin manager: https://github.com/junegunn/vim-plug
  3. Recommended plugins:

```

call plug#begin()

Plug 'airblade/vim-gitgutter' " git integration

Plug 'preservim/nerdtree' " file browser PRIME

Plug 'junegunn/fzf.vim' " search PRIME

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " search PRIME

Plug 'MattesGroeger/vim-bookmarks' " bookmark per line

Plug 'tpope/vim-fugitive' " git integration

Plug 'tabnine/YouCompleteMe' " AI completion

Plug 'pseewald/vim-anyfold' " fold code

Plug 'neoclide/coc.nvim', {'branch': 'release'} " LSP

Plug '/apollo/env/envImprovement/vim/amazon/brazil-config' " amazon LSP for bb

Plug 'puremourning/vimspector' " general debugger !?

Plug 'skywind3000/asyncrun.vim' " TODO

Plug 'vim-airline/vim-airline' " status bar

Plug 'vim-airline/vim-airline-themes' " status bar

Plug 'vim-test/vim-test' " run test easily in vim

Plug 'tpope/vim-commentary' " comment easily

Plug 'BlakeWilliams/vim-pry' " ruby debugger

Plug 'vim-ruby/vim-ruby' " ruby integration - not expert

Plug 'vim-autoformat/vim-autoformat' " formatter?

Plug 'preservim/tagbar' " outliner?

call plug#end()

```


(Insert mode things to know)

  1. Navigate using h(left), j(down), k(up), l(right)
  2. Delete using x or dd (for entire line)
  3. U for undo

Comments