add vscode support #11
2 changed files with 138 additions and 92 deletions
5
init.lua
5
init.lua
|
@ -1,3 +1,7 @@
|
|||
if vim.g.vscode then
|
||||
-- VSCode Neovim
|
||||
require("user.vscode_keymaps")
|
||||
else
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
|
@ -92,3 +96,4 @@ vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist)
|
|||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
end
|
||||
|
|
41
lua/user/vscode_keymaps.lua
Normal file
41
lua/user/vscode_keymaps.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
local keymap = vim.keymap.set
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- remap leader key
|
||||
keymap("n", "<Space>", "", opts)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
-- yank to system clipboard
|
||||
keymap({ "n", "v" }, "<leader>y", '"+y', opts)
|
||||
|
||||
-- paste from system clipboard
|
||||
keymap({ "n", "v" }, "<leader>p", '"+p', opts)
|
||||
|
||||
-- better indent handling
|
||||
keymap("v", "<", "<gv", opts)
|
||||
keymap("v", ">", ">gv", opts)
|
||||
|
||||
-- move text up and down
|
||||
keymap("v", "J", ":m .+1<CR>==", opts)
|
||||
keymap("v", "K", ":m .-2<CR>==", opts)
|
||||
keymap("x", "J", ":move '>+1<CR>gv-gv", opts)
|
||||
keymap("x", "K", ":move '<-2<CR>gv-gv", opts)
|
||||
|
||||
-- paste preserves primal yanked piece
|
||||
keymap("v", "p", '"_dP', opts)
|
||||
|
||||
-- removes highlighting after escaping vim search
|
||||
keymap("n", "<Esc>", "<Esc>:noh<CR>", opts)
|
||||
|
||||
-- call vscode commands from neovim
|
||||
keymap({ "n", "v" }, "<leader>t", "<cmd>lua require('vscode').action('workbench.action.terminal.toggleTerminal')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>b", "<cmd>lua require('vscode').action('editor.debug.action.toggleBreakpoint')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>d", "<cmd>lua require('vscode').action('editor.action.showHover')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>a", "<cmd>lua require('vscode').action('editor.action.quickFix')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>sp", "<cmd>lua require('vscode').action('workbench.actions.view.problems')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>cn", "<cmd>lua require('vscode').action('notifications.clearAll')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>ff", "<cmd>lua require('vscode').action('workbench.action.quickOpen')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>cp", "<cmd>lua require('vscode').action('workbench.action.showCommands')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>pr", "<cmd>lua require('vscode').action('code-runner.run')<CR>")
|
||||
keymap({ "n", "v" }, "<leader>fd", "<cmd>lua require('vscode').action('editor.action.formatDocument')<CR>")
|
Loading…
Reference in a new issue