Neovim: Difference between revisions

Jopejoe1 (talk | contribs)
m Make code comments translateble
Jopejoe1 (talk | contribs)
Marked this version for translation
Line 9: Line 9:
== Installation == <!--T:3-->
== Installation == <!--T:3-->


<!--T:4-->
==== Using nix-shell ==== <!--T:4-->
==== Using nix-shell ====


</translate>
</translate>
Line 18: Line 17:
<translate>
<translate>


<!--T:5-->
==== 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>


<!--T:6-->
==== 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-->
==== Basic ====


</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-->
==== Advanced ====


</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-->


<!--T:13-->
==== 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-->
==== Neovim Nightly ====


<!--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"


<!--T:18-->
==== 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-->
==== Plugin Management ====


</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