Neovim/ru: Difference between revisions
Updating to match new version of source page |
Created page with "== Решение проблем ==" |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
[https://neovim.io/ Neovim] is a highly extensible and open source text editor that aims to improve upon and modernize the popular [[Vim]] editor. It's designed to be a drop-in replacement for Vim, maintaining compatibility with most Vim plugins and configurations while offering additional features and improvements. Neovim focuses on extensibility, usability, and performance. | [https://neovim.io/ Neovim]<ref>Neovim Team, "Home - Neovim", Neovim Official Website, N/A. https://neovim.io/</ref> is a highly extensible and open source text editor that aims to improve upon and modernize the popular [[Vim]]<ref>NixOS Wiki, Vim. https://wiki.nixos.org/wiki/Vim</ref> editor. It's designed to be a drop-in replacement for Vim, maintaining compatibility with most Vim plugins and configurations while offering additional features and improvements. Neovim focuses on extensibility, usability, and performance. | ||
</div> | </div> | ||
Line 10: | Line 10: | ||
<span id="Using_nix-shell"></span> | <span id="Using_nix-shell"></span> | ||
==== Используя nix-shell ==== | ==== Используя nix-shell ==== | ||
<syntaxhighlight lang="bash" start="3"> | <syntaxhighlight lang="bash" start="3"> | ||
Line 22: | Line 17: | ||
<span id="Using_Global_Configuration"></span> | <span id="Using_Global_Configuration"></span> | ||
==== Глобально ==== | ==== Глобально ==== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
Line 39: | Line 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
После изменения конфигурации примените изменения, выполнив: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 47: | Line 31: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
< | <span id="Using_Home_Configuration"></span> | ||
==== | ==== Используя Home-Manager ==== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
Line 57: | Line 40: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
После обновления конфигурации примените изменения, выполнив: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 69: | Line 50: | ||
<span id="Basic"></span> | <span id="Basic"></span> | ||
==== Начальная ==== | ==== Начальная ==== | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
# | # Глобально | ||
programs.neovim = { | programs.neovim = { | ||
enable = true; | enable = true; | ||
Line 86: | Line 59: | ||
}; | }; | ||
# | # Для одного пользователя | ||
programs.neovim = { | programs.neovim = { | ||
enable = true; | enable = true; | ||
Line 96: | Line 69: | ||
<span id="Advanced"></span> | <span id="Advanced"></span> | ||
==== Продвинутая ==== | |||
==== | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
# | # Глобально | ||
programs.neovim = { | programs.neovim = { | ||
enable = true; | enable = true; | ||
Line 145: | Line 94: | ||
}; | }; | ||
# | # Для одного пользователя | ||
# | # Вам нужно добавить строку ниже, чтобы установить его в качестве редактора по умолчанию: | ||
environment.variables.EDITOR = "nvim"; | environment.variables.EDITOR = "nvim"; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 153: | Line 102: | ||
== Советы и рекомендации == | == Советы и рекомендации == | ||
< | <span id="Location_of_Options"></span> | ||
==== | ==== Расположение Опций ==== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
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]<ref>Nix Community, "Home Manager Option Search", Nix Community GitHub Pages, N/A. https://nix-community.github.io/home-manager/options.xhtml#opt-programs.neovim.enable</ref>. | ||
</div> | </div> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
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]<ref>MyNixOS Team, "Search: nixpkgs/option/programs.neovim", MyNixOS, N/A. https://mynixos.com/search?q=nixpkgs%2Foption%2Fprograms.neovim</ref>. | ||
</div> | </div> | ||
< | <span id="Package_Variations"></span> | ||
==== | ==== Варианты Пакета ==== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
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]<ref>Nix Community, "neovim-nightly-overlay", GitHub, N/A. https://github.com/nix-community/neovim-nightly-overlay</ref> to install the most recent current nightly version of Neovim. | ||
</div> | </div> | ||
Line 179: | Line 126: | ||
nix run "github:nix-community/neovim-nightly-overlay" | nix run "github:nix-community/neovim-nightly-overlay" | ||
< | <span id="Plugin_Management"></span> | ||
==== Управление Плагинами ==== | |||
</ | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
plugins = [ | plugins = [ | ||
# | # Пример Плагина: nvim-tree-lua | ||
pkgs.vimPlugins.nvim-tree-lua | pkgs.vimPlugins.nvim-tree-lua | ||
# Example Plugin: vim-startify with configuration | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
# Example Plugin: vim-startify with configuration | |||
</div> | |||
{ | { | ||
plugin = pkgs.vimPlugins.vim-startify; | plugin = pkgs.vimPlugins.vim-startify; | ||
Line 220: | Line 142: | ||
} | } | ||
# Example Plugin: nvim-colorizer-lua with Lua config | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
# 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: | ||
</div> | |||
{ | { | ||
plugin = pkgs.vimPlugins.nvim-colorizer-lua; | plugin = pkgs.vimPlugins.nvim-colorizer-lua; | ||
Line 229: | Line 153: | ||
lua << END | lua << END | ||
require 'colorizer'.setup { | require 'colorizer'.setup { | ||
'*'; -- Highlight all files, but customize some others. | '*'; <span lang="en" dir="ltr" class="mw-content-ltr">-- Highlight all files, but customize some others.</span> | ||
'!vim'; -- Exclude vim from highlighting. | '!vim'; <span lang="en" dir="ltr" class="mw-content-ltr">-- Exclude vim from highlighting.</span> | ||
} | } | ||
END | END | ||
Line 236: | Line 160: | ||
} | } | ||
# | # Пример плагина: nvim-treesitter с конфигурацией на языке Lua | ||
{ | { | ||
plugin = pkgs.vimPlugins.nvim-treesitter; | plugin = pkgs.vimPlugins.nvim-treesitter; | ||
Line 244: | Line 168: | ||
require'nvim-treesitter.configs'.setup { | require'nvim-treesitter.configs'.setup { | ||
highlight = { | highlight = { | ||
enable = true, -- false will disable the whole extension | enable = true, <span lang="en" dir="ltr" class="mw-content-ltr">-- false will disable the whole extension</span> | ||
disable = {}, -- | disable = {}, -- список языков, которые будут отключены | ||
}, | }, | ||
incremental_selection = { | incremental_selection = { | ||
Line 273: | Line 197: | ||
} | } | ||
# Installing grammars for tree-sitter | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
# 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 279: | Line 204: | ||
# Option 2: Install specific grammar packages | # Option 2: Install specific grammar packages | ||
# (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ])) | # (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ])) | ||
</div> | |||
# Option 3: Installing grammars without Nix | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
# 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 | ||
</div> | |||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
==== Frameworks ==== | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
If you prefer not to configure your system manually, NixOS offers several predefined configurations and community-supported options. Here are a few of them: | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
* [https://www.lazyvim.org/ LazyVim]<ref>LazyVim Team, "LazyVim", LazyVim Official Website, N/A. https://www.lazyvim.org/</ref> | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
* [https://astronvim.com/ AstroVim]<ref>AstroNvim Team, "AstroNvim", AstroNvim Official Website, N/A. https://astronvim.com/</ref> | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
* [https://nvchad.com/ NVChad]<ref>NvChad Team, "NvChad", NvChad Official Website, N/A. https://nvchad.com/</ref> | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
Another excellent option is [https://www.lunarvim.org/docs/installation LunarVim]<ref>LunarVim Team, "Installation", LunarVim Documentation, N/A. https://www.lunarvim.org/docs/installation</ref>. 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. | |||
</div> | |||
Конфигурация LunarVim хранится в <code>~/.config/lvim</code>. | |||
<span id="Troubleshooting"></span> | |||
== Решение проблем == | |||
<span id="References"></span> | <span id="References"></span> | ||
== Ссылки == | == Ссылки == | ||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:Text Editor]] | [[Category:Text Editor]] |