Skip to content

Instantly share code, notes, and snippets.

@asabla
Created September 30, 2024 09:02
Show Gist options
  • Save asabla/ae2cb5f802c9db463f9a9dff77729f9a to your computer and use it in GitHub Desktop.
Save asabla/ae2cb5f802c9db463f9a9dff77729f9a to your computer and use it in GitHub Desktop.
VSCode and VSvim configuration
" ===================================================
" Misc settings
" ===================================================
set tabstop=2 " Show existing tab with 2 spaces width
set shiftwidth=2 " when indenting with '>', use 2spaces width
set noswapfile " Disable swapfiles
set autoread " Autoread external changes
set number " Enable numbered lines
set nolinebreak " Don't break lines at word
set nowrap " Don't wrap lines
set showmatch " Highlight matching brace
set hlsearch " Highlight all search results
set smartcase " Enable smart case search
set ignorecase " Always case insensitive
set incsearch " Searches for string incrementally
set smartindent
set undolevels=1000 " Number of undos
set ruler " Show row and column ruler information
"set cursorline " Highlights selected row (where the ruler is)
"set syntax=enable " Will enable syntax highlighting
" Status line configs
set laststatus=2 " Always diplay status line
set statusline+=%F
" -------------- Hotkeys mapping ----------------------------
" Change hjkl into jklö (j=left, k=down, l=up, ö=right)
" Not sure these do anything
" unmap h
" unmap j
" unmap k
" unmap l
map j <Left>
map k <Down>
map l <Up>
map ö <Right>
" Change Ctrl+W h=left, j=down, k=up, l=right into: Ctrl+W j=left,
" k=down, l=up, ö=right
nmap <C-J> <C-W>h<C-W>_
nmap <C-K> <C-W>j<C-W>_
nmap <C-L> <C-W>k<C-W>_
nmap <C-Ö> <C-W>l<C-W>_
" Change active tab with Ctrl+t jklö (directional)
map <C-t><Up> :tabr<cr>
map <C-t><Down> :tabl<cr>
map <C-t><Left> :tabp<cr>
map <C-t><Right> :tabr<cr>
map <C-t><l> :tabr<cr>
map <C-t><k> :tabl<cr>
map <C-t><j> :tabp<cr>
map <C-t><ö> :tabr<cr>
" make indentation a bit easier to handle
nmap >> <Nop>
nmap << <Nop>
vmap >> <Nop>
vmap << <Nop>
nnoremap <TAB> >>
nnoremap <S-Tab> <<
vnoremap <Tab> >><Esc>gv
vnoremap <S-Tab> <<<Esc>gv
" ========================================
// Place your key bindings in this file to override the defaults
[// Console/terminal management
{ "key": "ctrl+shift+c", "command": "-workbench.action.terminal.openNativeConsole", "when": "!terminalFocus" },
{ "key": "ctrl+shift+c", "command": "workbench.action.terminal.focusNext" },
// Toggle terminal with either ctrl + ö or ctrl + alt + ö
{ "key": "ctrl+shift+oem_3", "command": "workbench.action.terminal.toggleTerminal" },
// { "key": "ctrl+oem_3", "command": "-workbench.action.terminal.toggleTerminal" },
// Toggle maximize terminal panel
{ "key": "ctrl+shift+q", "command": "workbench.action.toggleMaximizedPanel" },
// { "key": "ctrl+shift+q", "command": "workbench.action.terminal.focus" },
// Focus current tab in editor (semi focus mode)
{ "key": "ctrl+shift+space ctrl+shift+space", "command": "workbench.action.toggleEditorWidths" },
// Pane management (such as hide file explorer)
{ "key": "ctrl+k ctrl+b", "command": "workbench.action.toggleSidebarVisibility" },
{
"key": "ctrl+alt+numpad1 ctrl+alt+numpad2",
"command": "workbench.action.focusActiveEditorGroup"
},
{
"key": "ctrl+k ctrl+k",
"command": "bookmarks.toggle",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+k",
"command": "-bookmarks.toggle",
"when": "editorTextFocus"
},
{
"key": "ctrl+k ctrl+p",
"command": "bookmarks.jumpToNext",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+l",
"command": "-bookmarks.jumpToNext",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+oem_3",
"command": "-workbench.action.terminal.toggleTerminal",
"when": "terminalProcessSupported || terminalWebExtensionContributedProfile"
},
{
"key": "ctrl+shift+[Semicolon]",
"command": "workbench.action.terminal.toggleTerminal",
"when": "terminal.active"
},
{
"key": "ctrl+shift+[Equal]",
"command": "-workbench.action.terminal.toggleTerminal",
"when": "terminal.active"
},
]
{
// Editor settings
"editor.cursorBlinking": "solid",
"editor.inlineSuggest.enabled": true,
"editor.lineNumbers": "relative",
"editor.minimap.maxColumn": 80,
"editor.minimap.side": "right",
"editor.renderWhitespace": "all",
"editor.suggestSelection": "first",
"keyboard.dispatch": "keyCode",
"razor.devmode": true,
"razor.languageServer.debug": true,
"vim.vimrc.enable": true,
"vim.vimrc.path": "~/.vscode.vimrc",
"vim.easymotion": true,
"vim.foldfix": true,
"vim.leader": "<space>",
"vim.surround": false,
"vim.useSystemClipboard": true,
"vim.normalModeKeyBindings": [
{
"before": ["K"],
"commands": ["editor.action.showHover"]
},
{
"before": ["<C-p>"],
"commands": ["workbench.action.quickOpen"]
}
],
"workbench.colorTheme": "One Dark Pro Darker",
"workbench.startupEditor": "none",
"github.copilot.editor.enableAutoCompletions": true,
"git.openRepositoryInParentFolders": "never",
"continue.showInlineTip": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment