Neovim: Difference between revisions
m Make code comments translateble |
Marked this version for translation |
||
| Line 9: | Line 9: | ||
== Installation == <!--T:3--> | == Installation == <!--T:3--> | ||
==== Using nix-shell ==== <!--T:4--> | |||
==== Using nix-shell ==== | |||
</translate> | </translate> | ||
| Line 18: | Line 17: | ||
<translate> | <translate> | ||
==== Using Global Configuration ==== <!--T:5--> | |||
==== Using Global Configuration ==== | |||
</translate> | </translate> | ||
| Line 29: | Line 27: | ||
<translate> | <translate> | ||
<!--T:37--> | |||
After modifying your configuration, apply the changes by running: | After modifying your configuration, apply the changes by running: | ||
| Line 37: | Line 36: | ||
<translate> | <translate> | ||
==== Using Home Configuration ==== <!--T:6--> | |||
==== Using Home Configuration ==== | |||
</translate> | </translate> | ||
| Line 48: | Line 46: | ||
<translate> | <translate> | ||
<!--T:38--> | |||
After updating your configuration, apply the changes by running: | After updating your configuration, apply the changes by running: | ||
| Line 58: | Line 57: | ||
== Configuration == <!--T:7--> | == Configuration == <!--T:7--> | ||
<!--T:8--> | ==== Basic ==== <!--T:8--> | ||
</translate> | </translate> | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
<translate> | <translate> | ||
<!--T:39--> | |||
# Global Configuration | # Global Configuration | ||
</translate> | </translate> | ||
| Line 72: | Line 71: | ||
<translate> | <translate> | ||
<!--T:40--> | |||
# Home Configuration | # Home Configuration | ||
</translate> | </translate> | ||
| Line 83: | Line 83: | ||
<translate> | <translate> | ||
<!--T:10--> | ==== Advanced ==== <!--T:10--> | ||
</translate> | </translate> | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
<translate> | <translate> | ||
<!--T:41--> | |||
# Global Configuration | # Global Configuration | ||
</translate> | </translate> | ||
| Line 113: | Line 113: | ||
<translate> | <translate> | ||
<!--T:42--> | |||
# Home Configuration | # Home Configuration | ||
# You have to add the line below to set it as the default editor: | # You have to add the line below to set it as the default editor: | ||
| Line 122: | Line 123: | ||
== Tips and Tricks == <!--T:12--> | == Tips and Tricks == <!--T:12--> | ||
==== Location of Options ==== <!--T:13--> | |||
==== Location of Options ==== | |||
<!--T:43--> | |||
The home manager options are defined in the following [https://nix-community.github.io/home-manager/options.xhtml#opt-programs.neovim.enable Home Manager Options Manual]. | The home manager options are defined in the following [https://nix-community.github.io/home-manager/options.xhtml#opt-programs.neovim.enable Home Manager Options Manual]. | ||
| Line 130: | Line 131: | ||
The global options are listed on [https://mynixos.com/search?q=nixpkgs%2Foption%2Fprograms.neovim MyNixOS]. | The global options are listed on [https://mynixos.com/search?q=nixpkgs%2Foption%2Fprograms.neovim MyNixOS]. | ||
<!--T:15--> | ==== Neovim Nightly ==== <!--T:15--> | ||
<!--T:44--> | |||
Have a look at the [https://github.com/nix-community/neovim-nightly-overlay Neovim Nightly Overlay] to install the most recent current nightly version of Neovim. | Have a look at the [https://github.com/nix-community/neovim-nightly-overlay Neovim Nightly Overlay] to install the most recent current nightly version of Neovim. | ||
| Line 141: | Line 142: | ||
nix run "github:nix-community/neovim-nightly-overlay" | nix run "github:nix-community/neovim-nightly-overlay" | ||
==== Pre-Configured Configurations ==== <!--T:18--> | |||
==== Pre-Configured Configurations ==== | |||
<!--T:45--> | |||
If you prefer not to configure your system manually, NixOS offers several predefined configurations and community-supported options. Here are a few of them: | If you prefer not to configure your system manually, NixOS offers several predefined configurations and community-supported options. Here are a few of them: | ||
| Line 149: | Line 150: | ||
* [https://www.lazyvim.org/ LazyVim] | * [https://www.lazyvim.org/ LazyVim] | ||
<!--T:46--> | |||
* [https://astronvim.com/ AstroVim] | * [https://astronvim.com/ AstroVim] | ||
<!--T:47--> | |||
* [https://nvchad.com/ NVChad] | * [https://nvchad.com/ NVChad] | ||
<!--T:48--> | |||
Another excellent option is [https://www.lunarvim.org/docs/installation LunarVim]. The development community describes it as "an IDE layer for Neovim with sane defaults." LunarVim includes an installer/updater for LSP modules and other features. It can be installed via the <code>lunarvim</code> package from <code>nixpkgs</code> and is started with the <code>lvim</code> command. | Another excellent option is [https://www.lunarvim.org/docs/installation LunarVim]. The development community describes it as "an IDE layer for Neovim with sane defaults." LunarVim includes an installer/updater for LSP modules and other features. It can be installed via the <code>lunarvim</code> package from <code>nixpkgs</code> and is started with the <code>lvim</code> command. | ||
| Line 158: | Line 162: | ||
The configuration for LunarVim is stored in <code>./config/lvim</code>. | The configuration for LunarVim is stored in <code>./config/lvim</code>. | ||
<!--T:21--> | ==== Plugin Management ==== <!--T:21--> | ||
</translate> | </translate> | ||
| Line 165: | Line 168: | ||
plugins = [ | plugins = [ | ||
<translate> | <translate> | ||
# Example Plugin: nvim-tree-lua | <!--T:49--> | ||
# Example Plugin: nvim-tree-lua | |||
</translate> | </translate> | ||
pkgs.vimPlugins.nvim-tree-lua | pkgs.vimPlugins.nvim-tree-lua | ||
<translate> | <translate> | ||
# Example Plugin: vim-startify with configuration | <!--T:50--> | ||
# Example Plugin: vim-startify with configuration | |||
</translate> | </translate> | ||
{ | { | ||
| Line 178: | Line 183: | ||
<translate> | <translate> | ||
# Example Plugin: nvim-colorizer-lua with Lua config | <!--T:51--> | ||
# Example Plugin: nvim-colorizer-lua with Lua config | |||
# Due to how the runtimepath for Lua modules is processed, your configuration may require | # Due to how the runtimepath for Lua modules is processed, your configuration may require | ||
# packadd! plugin-name to require a module. A home-manager example: | # packadd! plugin-name to require a module. A home-manager example: | ||
| Line 188: | Line 194: | ||
lua << END | lua << END | ||
require 'colorizer'.setup { | require 'colorizer'.setup { | ||
'*';<translate> -- Highlight all files, but customize some others.</translate> | '*';<translate> <!--T:52--> -- Highlight all files, but customize some others.</translate> | ||
'!vim';<translate> -- Exclude vim from highlighting.</translate> | '!vim';<translate> <!--T:53--> -- Exclude vim from highlighting.</translate> | ||
} | } | ||
END | END | ||
| Line 196: | Line 202: | ||
<translate> | <translate> | ||
# Example Plugin: nvim-treesitter with Lua config | <!--T:54--> | ||
# Example Plugin: nvim-treesitter with Lua config | |||
</translate> | </translate> | ||
{ | { | ||
| Line 205: | Line 212: | ||
require'nvim-treesitter.configs'.setup { | require'nvim-treesitter.configs'.setup { | ||
highlight = { | highlight = { | ||
enable = true, <translate>-- false will disable the whole extension</translate> | enable = true, <translate><!--T:55--> -- false will disable the whole extension</translate> | ||
disable = {}, <translate>-- list of languages that will be disabled</translate> | disable = {}, <translate><!--T:56--> -- list of languages that will be disabled</translate> | ||
}, | }, | ||
incremental_selection = { | incremental_selection = { | ||
| Line 235: | Line 242: | ||
<translate> | <translate> | ||
# Installing grammars for tree-sitter | <!--T:57--> | ||
# Installing grammars for tree-sitter | |||
# Option 1: Install all grammar packages | # Option 1: Install all grammar packages | ||
pkgs.vimPlugins.nvim-treesitter.withAllGrammars | pkgs.vimPlugins.nvim-treesitter.withAllGrammars | ||
| Line 242: | Line 250: | ||
# (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ])) | # (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ])) | ||
# Option 3: Installing grammars without Nix | <!--T:58--> | ||
# Option 3: Installing grammars without Nix | |||
# Installing grammar packages through the built-in command can lead to errors. | # Installing grammar packages through the built-in command can lead to errors. | ||
# The following Neovim command will install syntax highlighting for the C programming language: :TSInstall c | # The following Neovim command will install syntax highlighting for the C programming language: :TSInstall c | ||