- To setup vim:
bash <(curl -s https://raw.githubusercontent.com/kartik1998/dotfiles/master/scripts/vim-setup.sh)
- Install ripgrep to support live grep:
brew install ripgrep #mac
sudo apt-get install ripgrep #ubuntu
- To setup neovim:
git clone [email protected]:kartik1998/dotfiles.git`
cd dotfiles
# install neovim >= 0.5.1 first
bash neovim_setup.sh
- Tmux conf:
curl -o ~/.tmux.conf https://raw.githubusercontent.com/kartik1998/dotfiles/master/tmux/tmux.conf
The vim config is different for vim and neovim. (Mostly similar)
Neovim is targeted for main support.
Although reading through init.vim might be enough, some are listed for completeness. The mappings are fully customizable. Many familiar mapping patterns are setup as defaults.
Leader is <spacebar>
Mappings | Action |
---|---|
<Leader-e> |
NerdTreeToggle |
<C-q> |
To quit buffer / quit vim if number of buffers = 1 |
<C-ww> |
Move between windows |
<C-w[Arrow/hjkl]> |
Move between windows directionally |
<C-t> |
toggle terminal (doesn't work for vim) |
<Leader-v> |
open in vertical split |
<Leader-h> |
open in horizontal split |
<Leader-b> |
List all buffers via telescope |
<Leader-l> |
Prettify file |
<Leader-[> |
previous buffer :bprev |
<Leader-]> |
next buffer :bnext |
<C-p> |
fuzzy search filenames |
<C-f> |
fuzzy search words in current directory |
<C-g>b |
Telescope git_branches |
<C-g>log |
Telescope git_commits |
<C-g>st |
Telescope git_status |
<leader-st> |
Telescope git_stash |
<C-n> |
Select same word as multiple cursors |
<C-m> |
maximize window |
<leader-m> |
Vimmagit |
gd |
go to definition |
gc |
comment visual selection |
gcc |
comment a line |
<C-u> |
page up |
<C-d> |
pade down |
<leader> f |
vim easy motion (find beginning of word) |
, |
vim easy motion (find char) |
vimspector is used for debugging applications. docs.
You'll need a .vimspector.json
file in your project to run the debugger.
Sample .vimspector.json
:
{
"configurations": {
"run": {
"adapter": "vscode-node",
"configuration": {
"request": "launch",
"protocol": "auto",
"stopOnEntry": true,
"console": "integratedTerminal",
"program": "${workspaceRoot}/index.js",
"cwd": "${workspaceRoot}"
},
"breakpoints": {
"exception": {
"all": "Y",
"uncaught": "Y"
}
}
}
}
}
Mappings | Action |
---|---|
<Leader-ds> |
debugger start |
<Leader-de> |
debugger end |
<Leader-dc> |
debugger continue |
<Leader-dr> |
debugger restart |
<Leader-dt> |
toggle break point |
<Leader-dT> |
clear break points |
<Leader-dk> |
Step out |
<Leader-dl> |
Step into |
<Leader-dj> |
Step over |
<Leader-drc> |
Run to cursor |
.vimspector.json
to attach to a node server:- run
node --inspect <filename>.js
and start the debugger with<Leader-ds>
{
"configurations": {
"run": {
"adapter": "vscode-node",
"default": true,
"breakpoints": {
"exception": {
"all": "N",
"uncaught": "N"
}
},
"configuration": {
"name": "Attaching to a process ID",
"type": "node",
"request": "attach",
"skipFiles": ["node_modules/**/*.js", "<node_internals>/**/*.js"],
"processId": "${processId}"
}
}
}
}
- Maccy
- In preferences set hotkey to
^m
- Mac shortcut link - Screen capture text to clipboard [Breaks for MacOS Sonoma, try the link below the note for MacOS Sonoma]
- Reference link to see how to setup the shortcut - youtube-macmost
- Note: Shortcuts app is very buggy and sometimes breaks with releases,
Take screenshot
is currently breaking for macOS sonoma so i've switched to using grab text. Forked repo macos-shortcuts- Mac shortcut link - Grab Text via Clipboard Screenshot