Code Monkey home page Code Monkey logo

vvimston's Introduction

My Neovim configuration in Lua

TODO: screenshots here

Introduction

A configuration inspired by LazyVim and Sergio's config. Also mixed with flavors from Allaman's Nvim config.

  • Modern: Using Lua as the config language, and adopting as much fancy features in the new version of Neovim as possible.
  • Modular: The configs of different aspects are splitted into different files.
  • Documented: The goal is to eaily recall what this line/file does.

This config requires Neovim >= 0.9

Installation

Backup your existing config with mv ~/.config/nvim{,.bak} Run git clone https://github.com/ZWindL/.nvim.git ~/.config/nvim

File Structure

.
├── init.lua
├── lazy-lock.json
├── lua
│   ├── core
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazyplug.lua
│   │   ├── options.lua
│   │   └── utils.lua
│   ├── neovide_options.lua
│   └── plugins
│       ├── dashboard.lua
│       ├── lsp.lua
│       └── tools.lua
│       └── ...

Features

Themes

UI Enhancement

Tools

  • Auto remove incsearch highlight: hlsearch

Dev tools

Lsp related tools

Other useful tools

Dependencies

fswatch for better performance while watching files. ttf-nerd-fonts-symbols for symbols.

Keybindings

Global

leader key: <space>

Plugins

coq <c-space>: manual complete <c-k>: open preview in a bigger frame <c-h>: jump to next placeholder <c-c>: exit to normal edit

nvim-cmp <c-u>: completion doc scroll back <c-d>: completion doc scroll forward <c-f>: snippet jump to next node <c-b>: snippet jump to prev node <c-e>: snippet switch choices <c-spc>: trigger complete <c-c>: abort complete <enter>: confirm completion Proposal

Misc

q, n: close help/dap/man... window.

Known issues

formatoptions

I want nvim not to auto-insert comment lead characters after pressing o or O, but does after hitting enter. This can be configured via vim.opt.formatoptions, however it won't set "r" by operating directly on this option as vim.opt.formatoptions += "r", because options are table type. And if modify it by using vim.opt.formatoptions:append { "c", "q", "j", "r" } inside autoCmd blocks, nvim reports "illegal character" error. The workaround is to hardcode the value of formatoptions and remove the unwanted options by formatoptions:remove insideautoCmd, although it's not recommended, see :help formatoptions.

copilot

It needs an older version of node.js to run.

The key TAB can't work properly, investigating.

vvimston's People

Contributors

zwindl avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.