https://github.com/johnsci911/nvim-ide
VIM on steroids
https://github.com/johnsci911/nvim-ide
lua neovim nvim vim vimrc
Last synced: 6 months ago
JSON representation
VIM on steroids
- Host: GitHub
- URL: https://github.com/johnsci911/nvim-ide
- Owner: johnsci911
- Created: 2020-11-07T09:09:30.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-06T10:27:54.000Z (about 1 year ago)
- Last Synced: 2024-11-06T11:32:07.927Z (about 1 year ago)
- Topics: lua, neovim, nvim, vim, vimrc
- Language: Lua
- Homepage:
- Size: 1.82 MB
- Stars: 37
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Neovim PDE - Personalized Development Environment

A neovim configuration base from the vim community
#### Awesome Plugins that are used
- **lsp-trouble** - to jump between lsp warnings
- **nvim-treesitter** - for accurate syntax highlighting
- **nvim-telescope** - to preview files while searching
- **ctrlsf.vim** and **vim-visual-multi** - to find and replace text with multi-cursor support
- **vim-easy-align** - (gaip) Easy align texts
- **Neoclip** - Clipboard
- **Neorg** - ORG Mode for organization (Similar to Emacs)
- **CodeCompanion** AI chat superpowers (I added a model switcher feature: ais)
- **AI** - Supermaven (online), cmp minuet (offline) - Code suggestion while you type.
#### What's new
- Fast AI tools - (CodeCompanion, Supermaven, Minuet) 🔥
- Re-add Galaxyline status line - (Will replace because of compatibility issues)
- Clipboards!
- Laravel blade syntax highlighting (Still Beta)
- Neogit - for GIT superpowers
- Toggleterm - Replaced vim-floaterm since I want the ability to rename and select terminals
#### Packages Required
- Neovim 0.11.*
- MCP Hub (Required for CodeCompanion)
- ripgrep
- fzf, fd - Required by Telescope
- Neorg Note taking plugin (GCC 14+)
- Silicon - Required for nvim-silicon a code snapshot plugin
##### Compatible OS
- Mac and Linux
#### LSP Auto-install
* C++ (clang)
* bash
* css
* html
* json
* lua
* intelephense - (Phpactor if not using paid intelephense)
* python
* vim
* yaml
* emmet ls
* c-sharp
* TailwindCSS
* GraphQL
* svelte
* typescript
#### Custom Syntax Highlighting
* Blade
* Vue - custom typescript config since it's not supported as of now
#### Linters
- md - ~/.vale.ini
```
MinAlertLevel = suggestion
[*.md]
IgnoreRules = Vale.spelling
```
#### I hate arrow keys :)
* If using Karabiner-Elements
* Go to `~/.config/karabiner/` and edit `karabiner.json`
```
{
"global": { "show_in_menu_bar": false },
"machine_specific": { "krbn-empty-machine-identifier": { "enable_multitouch_extension": true } },
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "Play/Pause using Global + Space",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "mandatory": ["fn"] }
},
"to": [{ "key_code": "play_or_pause" }],
"type": "basic"
}
]
},
{
"description": "Use Tab + hjkl for navigation",
"manipulators": [
{
"from": {
"key_code": "tab",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"set_variable": {
"name": "tab_pressed",
"value": 1
}
}
],
"to_after_key_up": [
{
"set_variable": {
"name": "tab_pressed",
"value": 0
}
}
],
"to_if_alone": [{ "key_code": "tab" }],
"type": "basic"
},
{
"conditions": [
{
"name": "tab_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "j",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "down_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"name": "tab_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "k",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "up_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"name": "tab_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "h",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"name": "tab_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_arrow" }],
"type": "basic"
}
]
}
]
},
"devices": [
{
"identifiers": { "is_keyboard": true },
"simple_modifications": [
{
"from": { "apple_vendor_top_case_key_code": "keyboard_fn" },
"to": [{ "key_code": "left_control" }]
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }]
},
{
"from": { "key_code": "left_control" },
"to": [{ "apple_vendor_top_case_key_code": "keyboard_fn" }]
},
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }]
},
{
"from": { "key_code": "right_option" },
"to": [{ "apple_vendor_top_case_key_code": "keyboard_fn" }]
}
]
}
],
"fn_function_keys": [
{
"from": { "key_code": "f5" },
"to": [{ "apple_vendor_top_case_key_code": "illumination_down" }]
},
{
"from": { "key_code": "f6" },
"to": [{ "apple_vendor_top_case_key_code": "illumination_up" }]
}
],
"name": "Personal",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }
}
]
}
```
#### TODO
* Formatters for frameworks (disabled by default)
* Git-graph (Disabled for now)
* [Yazi](https://github.com/sxyazi/yazi) as file manager. [Installation here!](https://yazi-rs.github.io/docs/installation/#homebrew)
* Remove bloat