1
0
mirror of https://github.com/jdhao/nvim-config.git synced 2025-06-08 14:14:33 +02:00

33 Commits
v0.6 ... v0.6.1

Author SHA1 Message Date
jdhao
092ea88703 bump minimum supported nvim version to 0.6.1 2022-01-02 11:26:32 +08:00
jdhao
67d59bfc2c docs: add section on custom commands 2021-12-31 12:30:23 +08:00
jdhao
77a5dfacd6 fix: broken link in README 2021-12-31 12:17:51 +08:00
jdhao
1373c418b9 restore reg content after using it 2021-12-30 23:39:42 +08:00
jdhao
e82b450464 split command output to list of string and set the buffer 2021-12-30 23:39:03 +08:00
jdhao
08818dbf01 remove logging 2021-12-30 23:38:49 +08:00
jdhao
0ed8814aef fix: command output captured by a register not formatted properly
Newline is converted to NUL character, which is nasty, see also https://vi.stackexchange.com/q/6697/15292.
2021-12-30 22:33:39 +08:00
jdhao
a86f1d2f31 refactor: capture command output silently 2021-12-30 22:33:06 +08:00
jdhao
c1b27ee818 fix url link in README 2021-12-29 23:34:59 +08:00
jdhao
7eb7b4450f update README 2021-12-29 23:33:07 +08:00
jdhao
5443078805 g:mapleader 2021-12-29 00:42:00 +08:00
jdhao
dcffbf9a71 fix: lsp reference highlight isn't correctly linked
! is need to overwrite possible existing highlight group of the same
name.
2021-12-28 23:49:43 +08:00
jdhao
85de00f374 refactor: resume edit position --> resume cursor position 2021-12-28 00:11:10 +08:00
jdhao
9adc3fdf16 remove double quotes for snippet trigger 2021-12-23 22:41:16 +08:00
jdhao
6cf31e2dcb add colorscheme kanagawa 2021-12-23 22:36:29 +08:00
jdhao
08d3d7ec08 fix bug in go to last edit position
If a go-to-line command is given, do not go to last edit position for
the file.
2021-12-20 22:15:34 +08:00
jdhao
ed52ca5914 add ref for checking IME state 2021-12-19 20:54:13 +08:00
jdhao
1d0609f753 change SPELL location on statusline 2021-12-19 20:53:09 +08:00
jdhao
56a43e4009 show IME on statusline on macOS 2021-12-19 20:52:23 +08:00
jdhao
22c7c6ee05 update plugin.lua 2021-12-19 19:55:00 +08:00
jdhao
3d0f00e7e4 update README 2021-12-16 23:31:13 +08:00
jdhao
bbd642af1a renaming variables 2021-12-15 00:21:34 +08:00
jdhao
5215a601b9 update fold conf for vim script
When setting foldlevel to 0 and load some plugin via InsertEnter event
using packer.nvim, if we press i to go to insert mode, the fold for vim
script file will be automatically closed. It is really annoying.

I have pinpoint the issue to the combination of packer.nvim and setting
foldlevel to 0 in after/ftplugin/vim.vim. What is interesting is that
default value for foldlevel is also 0. However, if we do not set it in
vim.vim, the above issue won't occur, which is strange.
2021-12-14 21:48:58 +08:00
jdhao
9bac7fa4f7 refactor: remove folding for init.vim 2021-12-14 21:47:59 +08:00
jdhao
06910bac87 remove plugin vim-cool
nvim-hlslens can replace it if calm_down option is enabled.
2021-12-12 17:30:11 +08:00
jdhao
85427c6424 remove plugin semshi 2021-12-12 16:47:58 +08:00
jdhao
cf9761e9a3 update plugin load condition 2021-12-11 18:15:24 +08:00
jdhao
7d3647ac61 remove oo and OO normal mode mapping 2021-12-11 15:47:15 +08:00
jdhao
a466339092 update nvim-hlslens settings 2021-12-11 15:46:25 +08:00
jdhao
6fb30f0cf2 use en_US.utf-8 as default 2021-12-10 22:52:03 +08:00
jdhao
9b41825c2c update lualine conf
diagnostic interface change
2021-12-10 22:51:06 +08:00
jdhao
e9319b0460 update README 2021-12-10 00:48:19 +08:00
jdhao
49596fb5ab update README 2021-12-09 21:41:59 +08:00
15 changed files with 155 additions and 56 deletions

View File

@@ -6,6 +6,26 @@
██ ████ ████ ██ ██ ██ ██████ ██████ ██ ████ ██ ██ ██████ ██ ████ ████ ██ ██ ██ ██████ ██████ ██ ████ ██ ██ ██████
``` ```
<div align="center"><p>
<a href="https://github.com/jdhao/nvim-config/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/jdhao/nvim-config" />
</a>
<a href="https://github.com/jdhao/nvim-config/commits">
<img src="https://badgen.net/github/commits/jdhao/nvim-config" alt="Commit number" />
</a>
<a href="https://github.com/jdhao/nvim-config">
<img src="https://img.shields.io/github/repo-size/jdhao/nvim-config?style=flat-square&label=Repo" alt="Repo size">
</a>
<a href="https://github.com/neovim/neovim/releases/tag/v0.6.1">
<img src="https://img.shields.io/badge/Neovim-0.6.1-blueviolet.svg?style=flat-square&logo=Neovim&logoColor=green" alt="Neovim minimum version"/>
</a>
<img src="https://img.shields.io/github/languages/top/jdhao/nvim-config" />
<a href="https://github.com/jdhao/nvim-config/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/jdhao/nvim-config?style=flat-square&logo=GNU&label=License" alt="License"/>
</a>
</p>
</div>
# Introduction # Introduction
This repo hosts my Nvim configuration for all the platforms I am using (Linux, This repo hosts my Nvim configuration for all the platforms I am using (Linux,
@@ -22,8 +42,8 @@ add it to your own Nvim config.
See [doc here](docs/README.md) on how to install Nvim's dependencies, Nvim See [doc here](docs/README.md) on how to install Nvim's dependencies, Nvim
itself, and how to set up on different platforms (Linux, macOS and Windows). itself, and how to set up on different platforms (Linux, macOS and Windows).
**This config is tested against [Nvim 0.6.0 release](https://github.com/neovim/neovim/releases/tag/v0.6.0). No backward compatibility **This config is tested against [Nvim v0.6.1 release](https://github.com/neovim/neovim/releases/tag/v0.6.0).
is guaranteed.** No backward compatibility is guaranteed.**
# Features # # Features #
@@ -71,7 +91,7 @@ For more UI demos, see [here](https://github.com/jdhao/nvim-config/issues/15).
<img src="https://user-images.githubusercontent.com/16662357/139462025-7bce98c5-d2d5-413f-9659-20545865cdca.gif" width="800"> <img src="https://user-images.githubusercontent.com/16662357/139462025-7bce98c5-d2d5-413f-9659-20545865cdca.gif" width="800">
</p> </p>
## Autocompletion ## Code autocompletion with nvim-cmp
<p align="center"> <p align="center">
<img src="https://user-images.githubusercontent.com/16662357/128590006-0fc1451f-fac1-49b2-bb95-8aba21bfa44e.gif" width="800"> <img src="https://user-images.githubusercontent.com/16662357/128590006-0fc1451f-fac1-49b2-bb95-8aba21bfa44e.gif" width="800">
@@ -83,6 +103,12 @@ For more UI demos, see [here](https://github.com/jdhao/nvim-config/issues/15).
<img src="https://user-images.githubusercontent.com/16662357/128590833-aaa05d53-19ef-441d-a5a9-ba1bbd3936c1.gif" width="800"> <img src="https://user-images.githubusercontent.com/16662357/128590833-aaa05d53-19ef-441d-a5a9-ba1bbd3936c1.gif" width="800">
</p> </p>
## Command-line autocompletion with wilder.nvim
<p align="center">
<img src="https://user-images.githubusercontent.com/16662357/147677787-8e5d229a-a16a-420e-98f5-88f2a1be84a2.gif" width="800">
</p>
## Tags ## Tags
<p align="center"> <p align="center">
@@ -97,7 +123,7 @@ Go to a string starting with `se`
<img src="https://user-images.githubusercontent.com/16662357/139459219-8a7e6ac4-1d24-4008-a370-b56773d7cb85.gif" width="800"> <img src="https://user-images.githubusercontent.com/16662357/139459219-8a7e6ac4-1d24-4008-a370-b56773d7cb85.gif" width="800">
</p> </p>
## GUI-style notification ## GUI-style notification with nvim-notify
<p align="center"> <p align="center">
<img src="https://user-images.githubusercontent.com/16662357/128589873-aadb8264-1098-4834-9876-fa66a309be05.gif" width="800"> <img src="https://user-images.githubusercontent.com/16662357/128589873-aadb8264-1098-4834-9876-fa66a309be05.gif" width="800">
@@ -146,6 +172,17 @@ represents ASCII character `,`.
| `ctrl-t` | Insert | Linux/macOS/Win | Turn word under cursor to title case | | `ctrl-t` | Insert | Linux/macOS/Win | Turn word under cursor to title case |
| `jk` | Insert | Linux/macOS/Win | Return to Normal mode without lagging | | `jk` | Insert | Linux/macOS/Win | Return to Normal mode without lagging |
# Custom commands
In addition to commands provided by various plugins, I have also created
several custom commands for personal use.
| command | description | example |
|------------|-------------------------------------------------------------------------|--------------------------------|
| `Redir` | capture command output to a tabpage for easier inspection. | `Redir hi` |
| `Edit` | edit multiple files at the same time, supports globing | `Edit *.vim` |
| `Datetime` | print current date and time or convert Unix time stamp to date and time | `Datetime 12345` or `Datetime` |
# Trouble shooting # Trouble shooting
If you come across an issue, you can first use `:checkhealth` command provided If you come across an issue, you can first use `:checkhealth` command provided
@@ -156,7 +193,7 @@ If you still have an issue, [open a new issue](https://github.com/jdhao/nvim-con
# Further readings # Further readings
Some of the resources that I find helpful in mastering Vim is documented [here](docs/vim_resources.md). Some of the resources that I find helpful in mastering Vim is documented [here](docs/nvim_resources.md).
You may also be interested in my post in configuring Vim on different platforms: You may also be interested in my post in configuring Vim on different platforms:
+ [Config nvim on Linux for Python development](https://jdhao.github.io/2018/12/24/centos_nvim_install_use_guide_en/) + [Config nvim on Linux for Python development](https://jdhao.github.io/2018/12/24/centos_nvim_install_use_guide_en/)

View File

@@ -6,8 +6,7 @@ set formatoptions-=r
" modeline is annoying in that the modeline get executed each time the window " modeline is annoying in that the modeline get executed each time the window
" focus is lost (see " focus is lost (see
" https://github.com/tmux-plugins/vim-tmux-focus-events/issues/14) " https://github.com/tmux-plugins/vim-tmux-focus-events/issues/14)
set foldmethod=expr foldlevel=0 foldlevelstart=-1 set foldmethod=expr foldexpr=utils#VimFolds(v:lnum) foldtext=utils#MyFoldText()
\ foldexpr=utils#VimFolds(v:lnum) foldtext=utils#MyFoldText()
" Use :help command for keyword when pressing `K` in vim file, " Use :help command for keyword when pressing `K` in vim file,
" see `:h K` and https://stackoverflow.com/q/15867323/6064933 " see `:h K` and https://stackoverflow.com/q/15867323/6064933

View File

@@ -174,13 +174,18 @@ endfunction
" Redirect command output to a register for later processing. " Redirect command output to a register for later processing.
" Ref: https://stackoverflow.com/q/2573021/6064933 and https://unix.stackexchange.com/q/8101/221410 . " Ref: https://stackoverflow.com/q/2573021/6064933 and https://unix.stackexchange.com/q/8101/221410 .
function! utils#CaptureCommandOutput(command) abort function! utils#CaptureCommandOutput(command) abort
let l:tmp = @m
redir @m redir @m
execute a:command silent! execute a:command
redir END redir END
call v:lua.vim.notify("command output captured to register m", "info", {'title': 'nvim-config'})
"create a scratch buffer for dumping the text, ref: https://vi.stackexchange.com/a/11311/15292. "create a scratch buffer for dumping the text, ref: https://vi.stackexchange.com/a/11311/15292.
tabnew | setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile tabnew | setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile
call nvim_buf_set_lines(0, 0, 0, 0, [@m])
let l:lines = split(@m, '\n')
call nvim_buf_set_lines(0, 0, 0, 0, l:lines)
let @m = l:tmp
endfunction endfunction
" Edit all files matching the given patterns. " Edit all files matching the given patterns.
@@ -193,12 +198,12 @@ function! utils#MultiEdit(patterns) abort
endfunction endfunction
function! utils#add_pack(name) abort function! utils#add_pack(name) abort
let l:success = v:true let l:status = v:true
try try
execute printf("packadd! %s", a:name) execute printf("packadd! %s", a:name)
catch /^Vim\%((\a\+)\)\=:E919/ catch /^Vim\%((\a\+)\)\=:E919/
let l:success = v:false let l:status = v:false
endtry endtry
return l:success return l:status
endfunction endfunction

View File

@@ -19,13 +19,28 @@ augroup accurate_syn_highlight
autocmd BufEnter * :syntax sync fromstart autocmd BufEnter * :syntax sync fromstart
augroup END augroup END
" Return to last edit position when opening a file " Return to last cursor position when opening a file
augroup resume_edit_position augroup resume_cursor_position
autocmd! autocmd!
autocmd BufReadPost * autocmd BufReadPost * call s:resume_cursor_position()
\ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit' | execute "normal! g`\"zvzz" | endif
augroup END augroup END
" Only resume last cursor position when there is no go-to-line command (something like '+23').
function s:resume_cursor_position() abort
if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
let l:args = v:argv " command line arguments
for l:cur_arg in l:args
" Check if a go-to-line command is given.
let idx = match(l:cur_arg, '\v^\+(\d){1,}$')
if idx != -1
return
endif
endfor
execute "normal! g`\"zvzz"
endif
endfunction
" Display a message when the current file is not in utf-8 format. " Display a message when the current file is not in utf-8 format.
" Note that we need to use `unsilent` command here because of this issue: " Note that we need to use `unsilent` command here because of this issue:
" https://github.com/vim/vim/issues/4379 " https://github.com/vim/vim/issues/4379

View File

@@ -34,10 +34,13 @@ else
endif endif
" Custom mapping <leader> (see `:h mapleader` for more info) " Custom mapping <leader> (see `:h mapleader` for more info)
let mapleader = ',' let g:mapleader = ','
" Enable highlighting for lua HERE doc inside vim script " Enable highlighting for lua HERE doc inside vim script
let g:vimsyn_embed = 'l' let g:vimsyn_embed = 'l'
" Use English as main language
language en_US.utf-8
"}} "}}
"{{ Disable loading certain plugins "{{ Disable loading certain plugins

View File

@@ -45,8 +45,6 @@ nnoremap <silent> \d :<C-U>bprevious <bar> bdelete #<CR>
" Insert a blank line below or above current line (do not move the cursor), " Insert a blank line below or above current line (do not move the cursor),
" see https://stackoverflow.com/a/16136133/6064933 " see https://stackoverflow.com/a/16136133/6064933
nnoremap oo :echo 'Please use <lt>space>o instead'<CR>
nnoremap OO :echo 'Please use <lt>space>O instead'<CR>
nnoremap <expr> <Space>o printf('m`%so<ESC>``', v:count1) nnoremap <expr> <Space>o printf('m`%so<ESC>``', v:count1)
nnoremap <expr> <Space>O printf('m`%sO<ESC>``', v:count1) nnoremap <expr> <Space>O printf('m`%sO<ESC>``', v:count1)

View File

@@ -37,15 +37,6 @@ let g:semshi#error_sign=v:false
"""""""""""""""""""""""""" vlime settings """""""""""""""""""""""""""""""" """""""""""""""""""""""""" vlime settings """"""""""""""""""""""""""""""""
command! -nargs=0 StartVlime call jobstart(printf("sbcl --load %s/vlime/lisp/start-vlime.lisp", g:package_home)) command! -nargs=0 StartVlime call jobstart(printf("sbcl --load %s/vlime/lisp/start-vlime.lisp", g:package_home))
""""""""""""""""""""""""""""" settings for nvim-hlslens"""""""""""""""
noremap <silent> n <Cmd>execute('normal! ' . v:count1 . 'nzzzv')<CR>
\<Cmd>lua require('hlslens').start()<CR>
noremap <silent> N <Cmd>execute('normal! ' . v:count1 . 'Nzzzv')<CR>
\<Cmd>lua require('hlslens').start()<CR>
map * <Plug>(asterisk-z*)<Cmd>lua require('hlslens').start()<CR>
map # <Plug>(asterisk-z#)<Cmd>lua require('hlslens').start()<CR>
"""""""""""""""""""""""""""""LeaderF settings""""""""""""""""""""" """""""""""""""""""""""""""""LeaderF settings"""""""""""""""""""""
" Do not use cache file " Do not use cache file
let g:Lf_UseCache = 0 let g:Lf_UseCache = 0

View File

@@ -50,6 +50,10 @@ function! s:theme_setup_dict.nightfox() dict abort
colorscheme nordfox colorscheme nordfox
endfunction endfunction
function! s:theme_setup_dict.kanagawa() dict abort
colorscheme kanagawa
endfunction
" Theme to directory name mapping, because theme repo name is not necessarily " Theme to directory name mapping, because theme repo name is not necessarily
" the same as the theme name itself. " the same as the theme name itself.
let s:theme2dir = { let s:theme2dir = {
@@ -61,7 +65,8 @@ let s:theme2dir = {
\ 'nord': 'nord.nvim', \ 'nord': 'nord.nvim',
\ 'doom_one': 'doom-one.nvim', \ 'doom_one': 'doom-one.nvim',
\ 'everforest' :'everforest', \ 'everforest' :'everforest',
\ 'nightfox': 'nightfox.nvim' \ 'nightfox': 'nightfox.nvim',
\ 'kanagawa': 'kanagawa.nvim',
\ } \ }
let s:theme = utils#RandElement(keys(s:theme2dir)) let s:theme = utils#RandElement(keys(s:theme2dir))
@@ -73,8 +78,8 @@ if !has_key(s:theme_setup_dict, s:theme)
finish finish
endif endif
let s:res = utils#add_pack(s:theme2dir[s:theme]) let s:status = utils#add_pack(s:theme2dir[s:theme])
if !s:res if !s:status
echomsg printf("Theme %s not installed. Run PackerSync to install.", s:theme) echomsg printf("Theme %s not installed. Run PackerSync to install.", s:theme)
finish finish
endif endif

View File

@@ -1,4 +1,3 @@
"{ Header info
" Description: This is my personal Nvim configuration supporting Mac, Linux " Description: This is my personal Nvim configuration supporting Mac, Linux
" and Windows, with various plugins configured. This configuration evolves as " and Windows, with various plugins configured. This configuration evolves as
" I learn more about Nvim and becomes more proficient in using Nvim. Since it " I learn more about Nvim and becomes more proficient in using Nvim. Since it
@@ -8,9 +7,7 @@
" built over time with a lot of polish. " built over time with a lot of polish.
" Author: Jie-dong Hao " Author: Jie-dong Hao
" Email: jdhao@hotmail.com " Email: jdhao@hotmail.com
"}
"{ Main configurations
let g:config_files = [ let g:config_files = [
\ 'globals.vim', \ 'globals.vim',
\ 'options.vim', \ 'options.vim',
@@ -23,4 +20,3 @@ let g:config_files = [
for s:fname in g:config_files for s:fname in g:config_files
execute printf('source %s/core/%s', stdpath('config'), s:fname) execute printf('source %s/core/%s', stdpath('config'), s:fname)
endfor endfor
"}

21
lua/config/hlslens.lua Normal file
View File

@@ -0,0 +1,21 @@
require('hlslens').setup({
calm_down = true,
nearest_only = true,
})
vim.api.nvim_set_keymap(
"n",
"n",
"<Cmd>execute('normal! ' . v:count1 . 'nzzzv')<CR><Cmd>lua require('hlslens').start()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap(
"n",
"N",
"<Cmd>execute('normal! ' . v:count1 . 'Nzzzv')<CR><Cmd>lua require('hlslens').start()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap("n", "*", "<Plug>(asterisk-z*)<Cmd>lua require('hlslens').start()<CR>", { silent = true })
vim.api.nvim_set_keymap("n", "#", "<Plug>(asterisk-z#)<Cmd>lua require('hlslens').start()<CR>", { silent = true })

View File

@@ -50,9 +50,9 @@ local custom_attach = function(client, bufnr)
-- The blow command will highlight the current variable and its usages in the buffer. -- The blow command will highlight the current variable and its usages in the buffer.
if client.resolved_capabilities.document_highlight then if client.resolved_capabilities.document_highlight then
vim.cmd([[ vim.cmd([[
hi link LspReferenceRead Visual hi! link LspReferenceRead Visual
hi link LspReferenceText Visual hi! link LspReferenceText Visual
hi link LspReferenceWrite Visual hi! link LspReferenceWrite Visual
augroup lsp_document_highlight augroup lsp_document_highlight
autocmd! * <buffer> autocmd! * <buffer>
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight() autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()

View File

@@ -6,6 +6,18 @@ local function spell()
return "" return ""
end end
local function ime_state()
if vim.g.is_mac then
-- ref: https://github.com/vim-airline/vim-airline/blob/master/autoload/airline/extensions/xkblayout.vim#L11
local layout = vim.fn.libcall(vim.g.XkbSwitchLib, 'Xkb_Switch_getXkbLayout', '')
if layout == '0' then
return '[CN]'
end
end
return ""
end
local function trailing_space() local function trailing_space()
-- Get the positions of trailing whitespaces from plugin 'jdhao/whitespace.nvim'. -- Get the positions of trailing whitespaces from plugin 'jdhao/whitespace.nvim'.
local trailing_space_pos = vim.b.trailing_whitespace_pos local trailing_space_pos = vim.b.trailing_whitespace_pos
@@ -59,11 +71,15 @@ require("lualine").setup({
lualine_a = { "mode" }, lualine_a = { "mode" },
lualine_b = { "branch", "diff" }, lualine_b = { "branch", "diff" },
lualine_c = { lualine_c = {
"filename",
{
ime_state,
color = {fg = 'black', bg = '#f46868'}
},
{ {
spell, spell,
color = {fg = 'black', bg = '#a7c080'} color = {fg = 'black', bg = '#a7c080'}
}, },
"filename"
}, },
lualine_x = { lualine_x = {
"encoding", "encoding",
@@ -82,7 +98,7 @@ require("lualine").setup({
"location", "location",
{ {
"diagnostics", "diagnostics",
sources = { "nvim_lsp" } sources = { "nvim_diagnostic" }
}, },
{ {
trailing_space, trailing_space,

View File

@@ -37,10 +37,6 @@ require("packer").startup({
-- nvim-cmp completion sources -- nvim-cmp completion sources
use {"hrsh7th/cmp-nvim-lsp", after = "nvim-cmp"} use {"hrsh7th/cmp-nvim-lsp", after = "nvim-cmp"}
-- nvim-lsp configuration (it relies on cmp-nvim-lsp, so it should be loaded after cmp-nvim-lsp).
use({ "neovim/nvim-lspconfig", after = "cmp-nvim-lsp", config = [[require('config.lsp')]] })
use {"hrsh7th/cmp-nvim-lua", after = "nvim-cmp"} use {"hrsh7th/cmp-nvim-lua", after = "nvim-cmp"}
use {"hrsh7th/cmp-path", after = "nvim-cmp"} use {"hrsh7th/cmp-path", after = "nvim-cmp"}
use {"hrsh7th/cmp-buffer", after = "nvim-cmp"} use {"hrsh7th/cmp-buffer", after = "nvim-cmp"}
@@ -50,15 +46,13 @@ require("packer").startup({
use {"hrsh7th/cmp-emoji", after = 'nvim-cmp'} use {"hrsh7th/cmp-emoji", after = 'nvim-cmp'}
end end
-- nvim-lsp configuration (it relies on cmp-nvim-lsp, so it should be loaded after cmp-nvim-lsp).
use({ "neovim/nvim-lspconfig", after = "cmp-nvim-lsp", config = [[require('config.lsp')]] })
if vim.g.is_mac then if vim.g.is_mac then
use({ "nvim-treesitter/nvim-treesitter", event = 'BufEnter', run = ":TSUpdate", config = [[require('config.treesitter')]] }) use({ "nvim-treesitter/nvim-treesitter", event = 'BufEnter', run = ":TSUpdate", config = [[require('config.treesitter')]] })
end end
-- Python syntax highlighting and more
if vim.g.is_win then
use({ "numirias/semshi", ft = "python", config = "vim.cmd [[UpdateRemotePlugins]]" })
end
-- Python indent (follows the PEP8 style) -- Python indent (follows the PEP8 style)
use({ "Vimjas/vim-python-pep8-indent", ft = { "python" } }) use({ "Vimjas/vim-python-pep8-indent", ft = { "python" } })
@@ -83,10 +77,15 @@ require("packer").startup({
} }
-- Clear highlight search automatically for you -- Clear highlight search automatically for you
use({"romainl/vim-cool", event = "VimEnter"}) -- use({"romainl/vim-cool", event = "VimEnter"})
-- Show match number for search -- Show match number and index for searching
use {'kevinhwang91/nvim-hlslens', branch = 'main', event = "VimEnter"} use {
'kevinhwang91/nvim-hlslens',
branch = 'main',
keys = {{'n', '*'}, {'n', '#'}, {'n', 'n'}, {'n', 'N'}},
config = [[require('config.hlslens')]]
}
-- Stay after pressing * and search selected text -- Stay after pressing * and search selected text
use({"haya14busa/vim-asterisk", event = 'VimEnter'}) use({"haya14busa/vim-asterisk", event = 'VimEnter'})
@@ -124,15 +123,18 @@ require("packer").startup({
use({"NTBBloodbath/doom-one.nvim", opt = true}) use({"NTBBloodbath/doom-one.nvim", opt = true})
use({"sainnhe/everforest", opt = true}) use({"sainnhe/everforest", opt = true})
use({"EdenEast/nightfox.nvim", opt = true}) use({"EdenEast/nightfox.nvim", opt = true})
use({"rebelot/kanagawa.nvim", opt = true})
-- Show git change (change, delete, add) signs in vim sign column -- Show git change (change, delete, add) signs in vim sign column
use({"mhinz/vim-signify", event = 'BufEnter'}) use({"mhinz/vim-signify", event = 'BufEnter'})
-- Another similar plugin -- Another similar plugin
-- use 'airblade/vim-gitgutter' -- use 'airblade/vim-gitgutter'
use {'kyazdani42/nvim-web-devicons', event = 'VimEnter'}
use { use {
'nvim-lualine/lualine.nvim', event = 'VimEnter', 'nvim-lualine/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true}, event = 'VimEnter',
config = [[require('config.statusline')]] config = [[require('config.statusline')]]
} }
@@ -143,6 +145,7 @@ require("packer").startup({
use({ use({
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
event = 'VimEnter',
config = [[require('config.indent-blankline')]] config = [[require('config.indent-blankline')]]
}) })

View File

@@ -23,7 +23,7 @@ snippet k3 "Three key strokes shortcut"
<kbd>${1:KEY}</kbd> + <kbd>${2:KEY}</kbd> + <kbd>${3:KEY}</kbd> <kbd>${1:KEY}</kbd> + <kbd>${2:KEY}</kbd> + <kbd>${3:KEY}</kbd>
endsnippet endsnippet
snippet "meta" "Markdown front matter (YAML format)" b snippet meta "Markdown front matter (YAML format)" b
--- ---
title: "$1" title: "$1"
date: `!p from datetime import datetime date: `!p from datetime import datetime

View File

@@ -345,3 +345,13 @@ teardown
github github
fastgit fastgit
EOL EOL
PyCharm
deduplication
STL
delimitMate
lspconfig
lualine
Keymap
iCloud
keyframe
maskRCNN