From: bernie Date: Mon, 1 Aug 2022 02:44:28 +0000 (-0400) Subject: Edit page Nwiz X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=bcbd9436f787dc0a3e65ae565492cb1ec30a007b;hp=153317c28d75a21bbb839cd0918ce7e79988a81a;p=wiki.git Edit page Nwiz --- diff --git a/EditingTips b/EditingTips index f447d99..69c6ce5 100644 --- a/EditingTips +++ b/EditingTips @@ -97,7 +97,7 @@ To write ##monospace text##, enclose it in double hashes: #****#some word#****#. To write __underlined text__, enclose it in double underscores: _****_some word_****_. \\ To write ^^superscript text^^, enclose it in double carets: ^****^some word^****^. \\ To write ,,subscript text,,, enclose it in double commas: ,****,some word,****,. \\ -''Double'' and '''triple''' quotes are also supported for compatiblity with other wikis. \\ +''Double'' and '''triple''' quotes are also supported for compatibility with other wikis. \\ These keywords are highlighted: FIXME, TODO, DONE. TIP: four consecutive stars (*////*////*////*) or slashes (/****/****/****/****) are a good diff --git a/Nwiz b/Nwiz new file mode 100644 index 0000000..2374a6c --- /dev/null +++ b/Nwiz @@ -0,0 +1,74 @@ +== nwiz.lua - A Neovim config for a more civilized age == + +=== What's this? === + +Neovim has no shortage of powerful plugins for programmers, but it's a fast moving ecosystem. +Picking the right combination of plugins and configuring them as an integrated development +environment is still far from trivial. I also reviewed a number of GUIs and "super plugins" +which aim to be a complete IDE, but all of them had maturity and usability issues. + +My goal is using Neovim as a productive and unintrusive IDE for C, C++, Rust and Python. +I curated a short list of well-maintained plugins that take advantage of Neovim's built-in +IDE components: + + * Language Server Protocol, for semantic completion + * Treesitter, for semantic syntax highlighting + * Virtual text, for inline diagnostics + * Floating windows, for inline help and function parameter assistance + +The plugin ecosystem is still maturing, but over time the amount of Lua scripting required +to piece together a functional IDE seems to be going down. Ideally, you wouldn't have +to learn Lua to edit your Neovim config. + +** I want a programmer's editor, not become an editor's programmer! ** + +=== Features === + + * Quick open files + * Semantic completion + * Configures language servers for C/C++, Rust, Python + * Adding more languages made easy by lspconfig + * Inline diagnostics and hints + + +=== Installation === + +To get started, download nwiz.lua to Neovim's plugin dir so it will be autoloaded at startup: + +{{{ + curl https://codewiz.org/pub/dotfiles/nwiz.lua -o ~/.config/nvim/plugin/nwiz.lua +}}} + +Everything is in a single file for ease of installation and to remind me to keep it short and simple. + +I'm also sharing my generic .vimrc, which doesn't use Lua and works with both Neovim and Vim 9: + +{{{ + curl https://codewiz.org/pub/dotfiles/vimrc +}}} + +Rather than overwrite your existing ##~./vimrc##, you might want to review and take some of my settings +for syntax highlighting and smart indentation. + + +=== Packer ==== + +On first run, Packer (the plugin manager) will bootstrap itself and install all plugins. +There's a good chance this will fail the first time due to the asynchronous nature of PackerSync +(patches welcome!) + +Any time you edit the list of plugins, run ##:PackerSync## to install, uninstall & update them. Easy! + +=== Language Servers === + +TODO + +=== Treesitter syntax parsers === + +Install the ones you like from this list: https://github.com/nvim-treesitter/nvim-treesitter#supported-languages + +For instance: + +{{{ +:TSInstall c cpp rust lua python bash vim +}}} \ No newline at end of file