mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
3 Commits
7fa77fbfbf
...
9e6be1f001
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e6be1f001 | ||
|
|
c4160b6f85 | ||
|
|
60852c0473 |
@ -59,7 +59,7 @@ and how to set up on different platforms (Linux, macOS, and Windows).
|
|||||||
+ Language server protocol (LSP) support via [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig).
|
+ Language server protocol (LSP) support via [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig).
|
||||||
+ Git integration via [vim-fugitive](https://github.com/tpope/vim-fugitive).
|
+ Git integration via [vim-fugitive](https://github.com/tpope/vim-fugitive).
|
||||||
+ Better escaping from insert mode via [better-escape.vim](https://github.com/nvim-zh/better-escape.vim).
|
+ Better escaping from insert mode via [better-escape.vim](https://github.com/nvim-zh/better-escape.vim).
|
||||||
+ Ultra-fast project-wide fuzzy searching via [LeaderF](https://github.com/Yggdroot/LeaderF).
|
+ Ultra-fast project-wide fuzzy searching via [fzf-lua](https://github.com/ibhagwan/fzf-lua).
|
||||||
+ Faster code commenting via [vim-commentary](https://github.com/tpope/vim-commentary).
|
+ Faster code commenting via [vim-commentary](https://github.com/tpope/vim-commentary).
|
||||||
+ Faster matching pair insertion and jump via [nvim-autopairs](https://github.com/windwp/nvim-autopairs).
|
+ Faster matching pair insertion and jump via [nvim-autopairs](https://github.com/windwp/nvim-autopairs).
|
||||||
+ Smarter and faster matching pair management (add, replace or delete) via [vim-sandwich](https://github.com/machakann/vim-sandwich).
|
+ Smarter and faster matching pair management (add, replace or delete) via [vim-sandwich](https://github.com/machakann/vim-sandwich).
|
||||||
@ -79,7 +79,6 @@ and how to set up on different platforms (Linux, macOS, and Windows).
|
|||||||
+ LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex)
|
+ LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex)
|
||||||
+ Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify).
|
+ Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify).
|
||||||
+ Tags navigation via [vista](https://github.com/liuchengxu/vista.vim).
|
+ Tags navigation via [vista](https://github.com/liuchengxu/vista.vim).
|
||||||
+ Code formatting via [Neoformat](https://github.com/sbdchd/neoformat).
|
|
||||||
+ Undo management via [vim-mundo](https://github.com/simnalamburt/vim-mundo)
|
+ Undo management via [vim-mundo](https://github.com/simnalamburt/vim-mundo)
|
||||||
+ Code folding with [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) and [statuscol.nvim](https://github.com/luukvbaal/statuscol.nvim)
|
+ Code folding with [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) and [statuscol.nvim](https://github.com/luukvbaal/statuscol.nvim)
|
||||||
+ ......
|
+ ......
|
||||||
@ -94,10 +93,10 @@ For more UI demos, check [here](https://github.com/jdhao/nvim-config/issues/15).
|
|||||||
<img src="https://user-images.githubusercontent.com/16662357/183256752-fb23b215-a6b8-4646-beed-9999f52d53f1.png" width="800">
|
<img src="https://user-images.githubusercontent.com/16662357/183256752-fb23b215-a6b8-4646-beed-9999f52d53f1.png" width="800">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## File fuzzy finding using LeaderF
|
## File fuzzy finding using fzf-lua
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://user-images.githubusercontent.com/16662357/183257017-2d9d7605-3c4b-4e1d-8955-30998f9b6f28.gif" width="800">
|
<img src="https://github.com/user-attachments/assets/3199e35d-121a-487b-bfd1-58eb69b0b48a" width="800">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Code autocompletion with nvim-cmp
|
## Code autocompletion with nvim-cmp
|
||||||
|
|||||||
@ -23,19 +23,19 @@ conf.center = {
|
|||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Find File ",
|
desc = "Find File ",
|
||||||
action = "Leaderf file --popup",
|
action = "FzfLua files",
|
||||||
key = "<Leader> f f",
|
key = "<Leader> f f",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Recently opened files ",
|
desc = "Recently opened files ",
|
||||||
action = "Leaderf mru --popup",
|
action = "FzfLua oldfiles",
|
||||||
key = "<Leader> f r",
|
key = "<Leader> f r",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Project grep ",
|
desc = "Project grep ",
|
||||||
action = "Leaderf rg --popup",
|
action = "FzfLua live_grep",
|
||||||
key = "<Leader> f g",
|
key = "<Leader> f g",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -228,8 +228,13 @@ api.nvim_create_autocmd("BufReadPre", {
|
|||||||
|
|
||||||
if fn.getfsize(f) > file_size_limit or fn.getfsize(f) == -2 then
|
if fn.getfsize(f) > file_size_limit or fn.getfsize(f) == -2 then
|
||||||
vim.o.eventignore = "all"
|
vim.o.eventignore = "all"
|
||||||
|
|
||||||
|
-- show ruler
|
||||||
|
vim.o.ruler = true
|
||||||
|
|
||||||
-- turning off relative number helps a lot
|
-- turning off relative number helps a lot
|
||||||
vim.wo.relativenumber = false
|
vim.wo.relativenumber = false
|
||||||
|
vim.wo.number = false
|
||||||
|
|
||||||
vim.bo.swapfile = false
|
vim.bo.swapfile = false
|
||||||
vim.bo.bufhidden = "unload"
|
vim.bo.bufhidden = "unload"
|
||||||
|
|||||||
@ -106,20 +106,6 @@ local plugin_specs = {
|
|||||||
require("config.hlslens")
|
require("config.hlslens")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Yggdroot/LeaderF",
|
|
||||||
cmd = "Leaderf",
|
|
||||||
build = function()
|
|
||||||
local leaderf_path = plugin_dir .. "/LeaderF"
|
|
||||||
vim.opt.runtimepath:append(leaderf_path)
|
|
||||||
vim.cmd("runtime! plugin/leaderf.vim")
|
|
||||||
|
|
||||||
if not vim.g.is_win then
|
|
||||||
vim.cmd("LeaderfInstallCExtension")
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
cmd = "Telescope",
|
cmd = "Telescope",
|
||||||
@ -132,8 +118,18 @@ local plugin_specs = {
|
|||||||
-- optional for icon support
|
-- optional for icon support
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
config = function()
|
config = function()
|
||||||
-- calling `setup` is optional for customization
|
require("fzf-lua").setup {
|
||||||
require("fzf-lua").setup {}
|
winopts = {
|
||||||
|
row = 0.5,
|
||||||
|
height = 0.7,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>ff", "<cmd>FzfLua files<cr>", { desc = "Fuzzy find files" })
|
||||||
|
vim.keymap.set("n", "<leader>fg", "<cmd>FzfLua live_grep<cr>", { desc = "Fuzzy grep files" })
|
||||||
|
vim.keymap.set("n", "<leader>fh", "<cmd>FzfLua helptags<cr>", { desc = "Fuzzy grep tags in help files" })
|
||||||
|
vim.keymap.set("n", "<leader>ft", "<cmd>FzfLua btags<cr>", { desc = "Fuzzy search buffer tags" })
|
||||||
|
vim.keymap.set("n", "<leader>fb", "<cmd>FzfLua buffers<cr>", { desc = "Fuzzy search opened buffers" })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,12 +3,11 @@ local version = vim.version
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
--- Check if an executable exists
|
||||||
|
--- @param name string An executable name/path
|
||||||
|
--- @return boolean
|
||||||
function M.executable(name)
|
function M.executable(name)
|
||||||
if fn.executable(name) > 0 then
|
return fn.executable(name) > 0
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
return false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--- check whether a feature exists in Nvim
|
--- check whether a feature exists in Nvim
|
||||||
|
|||||||
@ -34,85 +34,6 @@ let g:UltiSnipsSnippetDirectories=['UltiSnips', 'my_snippets']
|
|||||||
"""""""""""""""""""""""""" 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))
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""LeaderF settings"""""""""""""""""""""
|
|
||||||
" Do not use cache file
|
|
||||||
let g:Lf_UseCache = 0
|
|
||||||
" Refresh each time we call leaderf
|
|
||||||
let g:Lf_UseMemoryCache = 0
|
|
||||||
|
|
||||||
" Ignore certain files and directories when searching files
|
|
||||||
let g:Lf_WildIgnore = {
|
|
||||||
\ 'dir': ['.git', '__pycache__', '.DS_Store', '*_cache'],
|
|
||||||
\ 'file': ['*.exe', '*.dll', '*.so', '*.o', '*.pyc', '*.jpg', '*.png',
|
|
||||||
\ '*.gif', '*.svg', '*.ico', '*.db', '*.tgz', '*.tar.gz', '*.gz',
|
|
||||||
\ '*.zip', '*.bin', '*.pptx', '*.xlsx', '*.docx', '*.pdf', '*.tmp',
|
|
||||||
\ '*.wmv', '*.mkv', '*.mp4', '*.rmvb', '*.ttf', '*.ttc', '*.otf',
|
|
||||||
\ '*.mp3', '*.aac']
|
|
||||||
\}
|
|
||||||
|
|
||||||
" Do not show fancy icons for Linux server.
|
|
||||||
if g:is_linux
|
|
||||||
let g:Lf_ShowDevIcons = 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Only fuzzy-search files names
|
|
||||||
let g:Lf_DefaultMode = 'FullPath'
|
|
||||||
|
|
||||||
" Do not use version control tool to list files under a directory since
|
|
||||||
" submodules are not searched by default.
|
|
||||||
let g:Lf_UseVersionControlTool = 0
|
|
||||||
|
|
||||||
" Use rg as the default search tool
|
|
||||||
let g:Lf_DefaultExternalTool = "rg"
|
|
||||||
|
|
||||||
" show dot files
|
|
||||||
let g:Lf_ShowHidden = 1
|
|
||||||
|
|
||||||
" Disable default mapping
|
|
||||||
let g:Lf_ShortcutF = ''
|
|
||||||
let g:Lf_ShortcutB = ''
|
|
||||||
|
|
||||||
" set up working directory for git repository
|
|
||||||
let g:Lf_WorkingDirectoryMode = 'a'
|
|
||||||
|
|
||||||
" Search files in popup window
|
|
||||||
nnoremap <silent> <leader>ff :<C-U>Leaderf file --popup<CR>
|
|
||||||
|
|
||||||
" Grep project files in popup window
|
|
||||||
nnoremap <silent> <leader>fg :<C-U>Leaderf rg --no-messages --popup --nameOnly<CR>
|
|
||||||
|
|
||||||
" Search vim help files
|
|
||||||
nnoremap <silent> <leader>fh :<C-U>Leaderf help --popup<CR>
|
|
||||||
|
|
||||||
" Search tags in current buffer
|
|
||||||
nnoremap <silent> <leader>ft :<C-U>Leaderf bufTag --popup<CR>
|
|
||||||
|
|
||||||
" Switch buffers
|
|
||||||
nnoremap <silent> <leader>fb :<C-U>Leaderf buffer --popup<CR>
|
|
||||||
|
|
||||||
" Search recent files
|
|
||||||
nnoremap <silent> <leader>fr :<C-U>Leaderf mru --popup --absolute-path<CR>
|
|
||||||
|
|
||||||
let g:Lf_PopupColorscheme = 'gruvbox_material'
|
|
||||||
|
|
||||||
" Change keybinding in LeaderF prompt mode, use ctrl-n and ctrl-p to navigate
|
|
||||||
" items.
|
|
||||||
let g:Lf_CommandMap = {'<C-J>': ['<C-N>'], '<C-K>': ['<C-P>']}
|
|
||||||
|
|
||||||
" do not preview results, it will add the file to buffer list
|
|
||||||
let g:Lf_PreviewResult = {
|
|
||||||
\ 'File': 0,
|
|
||||||
\ 'Buffer': 0,
|
|
||||||
\ 'Mru': 0,
|
|
||||||
\ 'Tag': 0,
|
|
||||||
\ 'BufTag': 1,
|
|
||||||
\ 'Function': 1,
|
|
||||||
\ 'Line': 0,
|
|
||||||
\ 'Colorscheme': 0,
|
|
||||||
\ 'Rg': 0,
|
|
||||||
\ 'Gtags': 0
|
|
||||||
\}
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""" vista settings """"""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""" vista settings """"""""""""""""""""""""""""""""""
|
||||||
let g:vista#renderer#icons = {
|
let g:vista#renderer#icons = {
|
||||||
\ 'member': '',
|
\ 'member': '',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user