Text editor
I was nervous before my first day of school. My mother was famously the top of her class, so I asked her how she did so well.
"I took good notes and studied them the night before class"
So that’s what I did.
— An 80-Year-Old Doctor of Mathematics, Genius of Notes
Mastering text manipulation makes you faster, sharper, and more precise. In our world, notes are a source of record, and how we live and breathe. Might as well get good at it.
Visual Studio Code
Probably the text editor with the greatest ease of use. If you're a software developer this might be the only one you need.
If you're brand new and not sure what to choose, this is the one for you.
- Check it out: https://code.visualstudio.com/
vim
It's probably on the *Nix system you're already using, and it can get you very, very far.
Note
If you're going to be doing any system administration or offensive security, it pays to learn
vim. Ifvimis on your system its very likely you also have the programvimtutor- fire that thing up and go through it once a day until it's in your fingers.
A good starting .vimrc
This command will overwrite your $HOME/.vimrc make sure there's nothing in
there you wanna keep!
cat << EOF > $HOME/.vimrc
filetype plugin indent on
syntax enable
" be more vim, less vi
set nocompatible
" better searching!
set incsearch
set ignorecase
set hlsearch
" spaces!
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=8
" show line numbers
set number
" save
nnoremap <C-s> :w<CR>
" paste
set paste
" clear highlight by pressing enter
nnoremap <CR> :noh<CR><CR>
" from :help ins-completion
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
else
return "\<C-N>"
endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
EOF
Neovim
I used to think there wasn't a big difference between regular ol' vim and
Neovim (nvim), man was I wrong. Neovim really is the next evolution of vi,
its plugin ecosystem is far beyond what vim could hope for.
For casual vim users there is no practical difference, so it's a safe drop-in
replacement.
- https://neovim.io/
- This is a good starting point for making
nvimfeel like something modern: https://github.com/nvim-lua/kickstart.nvim