Home avatar

ISLAND

LazyVim

Before using Neovim, I spent a lot of time configuring my own Neovim setup—whether it was plugins, key mappings, or the UI, I put a lot of effort into it.
However, maintaining a personal configuration is honestly quite time-consuming, especially with plugin updates, version upgrades, and other maintenance tasks.

LazyVim is a Neovim distribution that comes with a large number of pre-configured plugins.
It is essentially ready to use out of the box, making it convenient and efficient. The extensive default configurations reduce the onboarding time.
The only downside is that the key mappings might not match what you’re used to, requiring some modifications or adaptation.

Distributed Theory

One of the most important theories in distributed systems is the CAP theory. This theory was proposed by computer scientist Eric Allen Brewer from the University of California, Berkeley, in 2000. It was later proven by researchers from MIT in 2002, turning the hypothesis into a theorem.

The CAP theorem proposes three aspects for distributed systems:

  • Consistency: The data among multiple replicas remains consistent.
  • Availability: Each request can receive a normal, error-free response, but there’s no guarantee that the data is the most recent.
  • Partition Tolerance: Even if a node in the system fails, the system can still provide consistency and availability of services externally.

CAP Theory

Neovim Beginner's Guide (Part 4): LSP Configuration (II)

Neovim Beginner’s Guide (Part Three): LSP Configuration (Part One) discussed what LSP is, how to configure it, and how to start it. Now, let’s proceed with other configurations related to LSP. This chapter mainly covers the following aspects: code highlighting, code formatting, and UI beautification related to LSP.

After setting up LSP, when we write code and encounter errors, corresponding reminders will appear. As shown in the following image:

Neovim Beginner's Guide (Part 3): LSP Configuration (I)

For an editor, to accomplish tasks like auto-completion, finding relevant definitions, etc., extensive development is required. Different editors require separate development efforts for different languages. The Language Server Protocol (LSP) streamlines this process. LSP, short for Language Server Protocol, defines the protocol used between editors and language services. As long as the relevant language supports LSP, editors can implement features like auto-completion by meeting specific requirements, ensuring a consistent user experience across different editors.

Neovim Beginner's Guide (Part 2): Common Plugins

After the introduction in the previous sections, your Neovim setup is now ready for basic usage. Below, we’ll recommend some common plugins to help you get started quickly.

nvim-tree is a file explorer that enables quick file selection from a sidebar.

Installing plugins in Neovim is straightforward. Following the previously outlined approach, first, find the relevant repository on GitHub, such as https://github.com/nvim-tree/nvim-tree.lua, then proceed with the installation. Installation specifics are usually detailed in the project’s README.

Neovim Beginner's Guide (Part 1): Basic Configuration

In the world of programming, there are two ancient artifacts. One is called “The Editor of the Gods, Emacs”, and the other is called “The God of Editors, Vim”. These two editors, since their inception, have engaged in an ongoing holy war. Whether it’s Vim or Emacs, both are constantly evolving and developing. Gradually, a dazzling new star has emerged on the branch of Vim, and it’s called Neovim.

From its name, Neovim appears to be a new star in the Vim galaxy. According to the official description: Neovim is a fork of Vim that focuses mainly on extensibility and usability. Many Vim users have migrated to Neovim, inheriting Vim’s charm of classic shortcuts and rich plugin system, while adding new features such as built-in LSP (Language Server Protocol) and asynchronous IO.