asd
This commit is contained in:
parent
8c157fc97a
commit
d5a125567e
@ -11,7 +11,9 @@ vim.opt.shell = 'bash'
|
|||||||
|
|
||||||
vim.opt.ttimeoutlen = 0
|
vim.opt.ttimeoutlen = 0
|
||||||
|
|
||||||
-- vim.opt.compatible = false
|
vim.opt.compatible = false
|
||||||
|
|
||||||
|
vim.opt.hidden = true
|
||||||
|
|
||||||
vim.opt.expandtab = true
|
vim.opt.expandtab = true
|
||||||
vim.opt.smarttab = true
|
vim.opt.smarttab = true
|
||||||
|
|||||||
153
sub/vim/init.lua
153
sub/vim/init.lua
@ -1,153 +0,0 @@
|
|||||||
|
|
||||||
local autosave = require("auto-save")
|
|
||||||
|
|
||||||
autosave.setup(
|
|
||||||
{
|
|
||||||
enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it)
|
|
||||||
execution_message = {
|
|
||||||
message = function() -- message to print on save
|
|
||||||
return ("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S"))
|
|
||||||
end,
|
|
||||||
dim = 0.18, -- dim the color of `message`
|
|
||||||
cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea
|
|
||||||
},
|
|
||||||
trigger_events = {"InsertLeave", "TextChanged"}, -- vim events that trigger auto-save. See :h events
|
|
||||||
-- function that determines whether to save the current buffer or not
|
|
||||||
-- return true: if buffer is ok to be saved
|
|
||||||
-- return false: if it's not ok to be saved
|
|
||||||
condition = function(buf)
|
|
||||||
local fn = vim.fn
|
|
||||||
local utils = require("auto-save.utils.data")
|
|
||||||
|
|
||||||
if
|
|
||||||
fn.getbufvar(buf, "&modifiable") == 1 and
|
|
||||||
utils.not_in(fn.getbufvar(buf, "&filetype"), {}) then
|
|
||||||
return true -- met condition(s), can save
|
|
||||||
end
|
|
||||||
return false -- can't save
|
|
||||||
end,
|
|
||||||
write_all_buffers = false, -- write all buffers when the current one meets `condition`
|
|
||||||
debounce_delay = 135, -- saves the file at most every `debounce_delay` milliseconds
|
|
||||||
callbacks = { -- functions to be executed at different intervals
|
|
||||||
enabling = nil, -- ran when enabling auto-save
|
|
||||||
disabling = nil, -- ran when disabling auto-save
|
|
||||||
before_asserting_save = nil, -- ran before checking `condition`
|
|
||||||
before_saving = nil, -- ran before doing the actual save
|
|
||||||
after_saving = nil -- ran after doing the actual save
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Set completeopt to have a better completion experience
|
|
||||||
vim.o.completeopt = 'menuone,noselect'
|
|
||||||
|
|
||||||
-- luasnip setup
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
|
|
||||||
-- nvim-cmp setup
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
cmp.setup {
|
|
||||||
completion = {
|
|
||||||
autocomplete = false
|
|
||||||
},
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require('luasnip').lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
['<C-e>'] = cmp.mapping.close(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm {
|
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
|
||||||
select = true,
|
|
||||||
},
|
|
||||||
['<Tab>'] = function(fallback)
|
|
||||||
if vim.fn.pumvisible() == 1 then
|
|
||||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<C-n>', true, true, true), 'n')
|
|
||||||
elseif luasnip.expand_or_jumpable() then
|
|
||||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<Plug>luasnip-expand-or-jump', true, true, true), '')
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
['<S-Tab>'] = function(fallback)
|
|
||||||
if vim.fn.pumvisible() == 1 then
|
|
||||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<C-p>', true, true, true), 'n')
|
|
||||||
elseif luasnip.jumpable(-1) then
|
|
||||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<Plug>luasnip-jump-prev', true, true, true), '')
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'luasnip' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local nvim_lsp = require('lspconfig')
|
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
|
||||||
-- after the language server attaches to the current buffer
|
|
||||||
local on_attach = function(client, bufnr)
|
|
||||||
|
|
||||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
|
||||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
|
||||||
|
|
||||||
-- Enable completion triggered by <c-x><c-o>
|
|
||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
|
||||||
|
|
||||||
-- Mappings.
|
|
||||||
local opts = { noremap=true, silent=true }
|
|
||||||
|
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
|
||||||
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
|
||||||
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
|
||||||
-- map buffer local keybindings when the language server attaches
|
|
||||||
local servers = { 'pyright' }
|
|
||||||
for _, lsp in ipairs(servers) do
|
|
||||||
nvim_lsp[lsp].setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
flags = {
|
|
||||||
debounce_text_changes = 150,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
require('telescope').load_extension('fzf')
|
|
||||||
|
|
||||||
require("nvim-autopairs").setup {}
|
|
||||||
|
|
||||||
require('gitsigns').setup()
|
|
||||||
|
|
||||||
@ -167,25 +167,8 @@ call vundle#begin()
|
|||||||
Plugin 'ryanoasis/vim-devicons'
|
Plugin 'ryanoasis/vim-devicons'
|
||||||
Plugin 'windwp/nvim-autopairs'
|
Plugin 'windwp/nvim-autopairs'
|
||||||
|
|
||||||
" pyright
|
|
||||||
Plugin 'neovim/nvim-lspconfig'
|
|
||||||
Plugin 'hrsh7th/nvim-cmp'
|
|
||||||
Plugin 'hrsh7th/cmp-nvim-lsp'
|
|
||||||
Plugin 'saadparwaiz1/cmp_luasnip'
|
|
||||||
Plugin 'L3MON4D3/LuaSnip'
|
|
||||||
Plugin 'nvim-lua/plenary.nvim'
|
|
||||||
|
|
||||||
Plugin 'powerman/vim-plugin-ruscmd' " Russian navigation
|
Plugin 'powerman/vim-plugin-ruscmd' " Russian navigation
|
||||||
|
|
||||||
" golang
|
|
||||||
" Plugin 'fatih/vim-go'
|
|
||||||
Plugin 'nvim-telescope/telescope.nvim'
|
|
||||||
Plugin 'nvim-telescope/telescope-fzf-native.nvim', {'do': 'make'}
|
|
||||||
Plugin 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
|
||||||
|
|
||||||
|
|
||||||
Plugin 'lewis6991/gitsigns.nvim'
|
|
||||||
|
|
||||||
call vundle#end()
|
call vundle#end()
|
||||||
|
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user