From ad94ecc530be57aec156d1f4a7f9f69a300d1c7d Mon Sep 17 00:00:00 2001 From: john-okeefe Date: Thu, 11 Apr 2024 11:30:56 -0400 Subject: [PATCH] updated README.md to astronvim github version with modifications --- README.md | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 205 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 365674b..393d93a 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,97 @@ -# AstroNvim Template +
+ +
-**NOTE:** This is for AstroNvim v4+ +

AstroNvim

-A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) +

+ Install + · + Configure + · + Community Plugins + · + Website + · + Discord +

+ +

+ + + + + + + + + + +
+ + + + + + + + + +
+ + + +

+ +

+AstroNvim is an aesthetically pleasing and feature-rich neovim config that is extensible and easy to use with a great set of plugins +

+ +## 🌟 Preview + +![Preview Image](https://astronvim.com/themes/overview.png) + +## ✨ Features + +- Common plugin specifications with [AstroCommunity](https://github.com/AstroNvim/astrocommunity) +- File explorer with [Neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim) +- Autocompletion with [Cmp](https://github.com/hrsh7th/nvim-cmp) +- Git integration with [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) +- Statusline, Winbar, and Bufferline with [Heirline](https://github.com/rebelot/heirline.nvim) +- Terminal with [Toggleterm](https://github.com/akinsho/toggleterm.nvim) +- Fuzzy finding with [Telescope](https://github.com/nvim-telescope/telescope.nvim) +- Syntax highlighting with [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) +- Formatting and Linting with [None-ls](https://github.com/nvimtools/none-ls.nvim) +- Language Server Protocol with [Native LSP](https://github.com/neovim/nvim-lspconfig) +- Debug Adapter Protocol with [nvim-dap](https://github.com/mfussenegger/nvim-dap) + +## ⚡ Requirements + +- [Nerd Fonts](https://www.nerdfonts.com/font-downloads) (_Optional with manual intervention:_ See [Documentation on customizing icons](https://docs.astronvim.com/Recipes/icons)) [[1]](#1) +- [Neovim 0.9.1+ (_Not_ including nightly)](https://github.com/neovim/neovim/releases/tag/stable) +- [Tree-sitter CLI](https://github.com/tree-sitter/tree-sitter/blob/master/cli/README.md) (_Note:_ This is only necessary if you want to use `auto_install` feature with Treesitter) +- A clipboard tool is necessary for the integration with the system clipboard (see [`:help clipboard-tool`](https://neovim.io/doc/user/provider.html#clipboard-tool) for supported solutions) +- Terminal with true color support (for the default theme, otherwise it is dependent on the theme you are using) [[2]](#2) +- Optional Requirements: + - [ripgrep](https://github.com/BurntSushi/ripgrep) - live grep telescope search (`fw`) + - [lazygit](https://github.com/jesseduffield/lazygit) - git ui toggle terminal (`tl` or `gg`) + - [go DiskUsage()](https://github.com/dundee/gdu) - disk usage toggle terminal (`tu`) + - [bottom](https://github.com/ClementTsang/bottom) - process viewer toggle terminal (`tt`) + - [Python](https://www.python.org/) - python repl toggle terminal (`tp`) + - [Node](https://nodejs.org/en/) - node repl toggle terminal (`tn`) + +> [!NOTE] +> [1] All downloadable Nerd Fonts contain icons which are used by AstroNvim. Install the Nerd Font of your choice to your system and in your terminal emulator settings, set its font face to that Nerd Font. If you are using AstroNvim on a remote system via SSH, you do not need to install the font on the remote system. + +> [!NOTE] +> [2] Note when using default theme: For MacOS, the default terminal does not have true color support. You will need to use [iTerm2](https://iterm2.com/), [Kitty](https://sw.kovidgoyal.net/kitty/), [WezTerm](https://wezfurlong.org/wezterm/), or another [terminal emulator](https://gist.github.com/XVilka/8346728#terminal-emulators) that has true color support. ## 🛠️ Installation +AstroNvim is provided as a plugin that can be installed with the [`lazy.nvim`](https://github.com/folke/lazy.nvim) plugin manager and then used to import all of the plugin configurations that AstroNvim provides. To quickly get started it is recommended to start with the official [AstroNvim Template](https://github.com/AstroNvim/template) which provides a great starting point for a new AstroNvim based configuration. + +### Linux/Mac OS (Unix) + #### Make a backup of your current nvim and shared folder ```shell @@ -15,20 +101,126 @@ mv ~/.local/state/nvim ~/.local/state/nvim.bak mv ~/.cache/nvim ~/.cache/nvim.bak ``` -#### Create a new user repository from this template +#### Clone the template repository -Press the "Use this template" button above to create a new repository to store your user configuration. +```shell +git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim +rm -rf ~/.config/nvim/.git +nvim +``` -You can also just clone this repository directly if you do not want to track your user configuration in GitHub. +#### Clone this repo with edit permissions + +```shell +git clone --depth 1 ssh://git@git.linuxhg.com:2222/john-okeefe/AstroNvim.git ~/.config/nvim +nvim +``` + +### Windows (Powershell) + +#### Make a backup of your current nvim and nvim-data folder + +```pwsh +Rename-Item -Path $env:LOCALAPPDATA\nvim -NewName $env:LOCALAPPDATA\nvim.bak +Rename-Item -Path $env:LOCALAPPDATA\nvim-data -NewName $env:LOCALAPPDATA\nvim-data.bak +``` #### Clone the repository -```shell -git clone https://github.com// ~/.config/nvim -``` - -#### Start Neovim - -```shell +```pwsh +git clone --depth 1 https://github.com/AstroNvim/template $env:LOCALAPPDATA\nvim +Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force nvim ``` + +#### Clone this repo with edit permissions + +```pwsh +git clone --depth 1 ssh://git@git.linuxhg.com:2222/john-okeefe/AstroNvim.git $env:LOCALAPPDATA\nvim +nvim +``` + +#### Minimal `~/.config/nvim/init.lua` + +Some user's might not want to use an entire template or do any customization. Here is a minimal `~/.config/nvim/init.lua` file that simply set's up a base AstroNvim installation: + +```lua +local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup { "AstroNvim/AstroNvim", version = "^4", import = "astronvim.plugins" } +``` + +## 📦 Basic Setup + +#### Install LSP + +Enter `:LspInstall` followed by the name of the server you want to install
+Example: `:LspInstall pyright` + +#### Install language parser + +Enter `:TSInstall` followed by the name of the language you want to install
+Example: `:TSInstall python` + +#### Install Debugger + +Enter `:DapInstall` followed by the name of the debugger you want to install
+Example: `:DapInstall python` + +#### Manage plugins + +Run `:Lazy check` to check for plugin updates + +Run `:Lazy update` to apply any pending plugin updates + +Run `:Lazy clean` to remove any disabled or unused plugins + +Run `:Lazy sync` to update and clean plugins + +#### Update AstroNvim + +Run `:AstroUpdate` to get the latest updates from the repository
+ +#### Update AstroNvim Packages + +Run `:AstroUpdatePackages` (`pa`) to update both Neovim plugins and Mason packages + +## 🗒️ Links + +- [AstroNvim Website](https://astronvim.com) +- [AstroNvim Documentation](https://docs.astronvim.com) +- [Setup](https://docs.astronvim.com/#-setup) is given for basic editor setup after installation +- [Default Mappings](https://docs.astronvim.com/mappings) more about the default key bindings +- [Customizing Plugins](https://docs.astronvim.com/configuration/customizing_plugins/) more about configuring and adding plugins + +### 📹 Videos + +There have been some great review videos released by members of the community! Here are a few: + +- [Neovim With AstroNvim | Your New Advanced Development Editor](https://www.youtube.com/watch?v=GEHPiZ10gOk) (Version: 3, Content By: [@Cretezy](https://github.com/Cretezy)) +- [Why I'm quitting VIM by Carlos Mafla](https://www.youtube.com/watch?v=71GDopdc9rw) (Version: 2, Content By: [@gigo6000](https://github.com/gigo6000)) +- [Astro Vim - All in one Nvim config!! by John McBride](https://www.youtube.com/watch?v=JQLZ7NJRTEo) (Version: 1, Content By: [@jpmcb](https://github.com/jpmcb)) + +## 🚀 Contributing + +If you plan to contribute, please check the [contribution guidelines](https://github.com/AstroNvim/.github/blob/main/CONTRIBUTING.md) first. + +## ⭐ Credits + +Sincere appreciation to the following repositories, plugin authors and the entire neovim community out there that made the development of AstroNvim possible. + +- [Plugins](https://docs.astronvim.com/reference/default_plugins/) +- [NvChad](https://github.com/NvChad/NvChad) +- [LunarVim](https://github.com/LunarVim) +- [CosmicVim](https://github.com/CosmicNvim/CosmicNvim) + +
+ +[![Lua](https://img.shields.io/badge/Made%20with%20Lua-blue.svg?style=for-the-badge&logo=lua)](https://lua.org) + +
\ No newline at end of file