This guide outlines the steps to set up a system-wide configuration for `vim` and install plugins using the plugin manager [Vim-Plug](https://github.com/junegunn/vim-plug). For more details on using `vim-plug`, other plugin managers, or individual plugins, consult their respective documentation or browse [VimAwesome](https://vimawesome.com/).
If you want to skip the instructions and use my config as-is, just go to [this section](#shortcut).
---
### 1. Setting Up the Configuration Directories
First, ensure that the necessary directories for system-wide vim configuration exist. Create the main vim configuration directory if it doesn't exist:
```bash
mkdir -p /etc/vim
cd /etc/vim
```
Next, create the required subdirectories with appropriate permissions. Create directories for autoload, colors, plugins, session data, etc:
Ensure that the color scheme file has the correct permissions:
```bash
chmod o+r /etc/vim/colors/*
```
---
### 3. Configuring the `vimrc`
The system-wide `vimrc` file location might vary depending on your Linux distribution. On Ubuntu, it is typically found at `/etc/vim/vimrc`. If the file doesn't exist, create it with the required permissions.
```bash
touch /etc/vim/vimrc
chmod 755 /etc/vim/vimrc
vim /etc/vim/vimrc
```
#### 3.1. Set Runtime Paths
To ensure `vim` recognizes the autoload, plugin, and color scheme directories, add the following lines to your `vimrc`:
```vim
set runtimepath+=/etc/vim/autoload
set runtimepath+=/etc/vim/plugged
set runtimepath+=/etc/vim/colors
```
#### 3.2. Enable Vim-Plug and Install Plugins
To initialize `vim-plug` and install plugins, add the following configuration to your `vimrc`. This specifies the plugin directory and lists the plugins you'd like to use.
```vim
" Initialize Vim-Plug
call plug#begin('/etc/vim/plugged')
" List plugins here
Plug 'rust-lang/rust.vim' " Example plugin for Rust syntax highlighting
" Add more plugins as needed...
" End plugin section
call plug#end()
```
#### 3.3. Enable Filetype Plugins and Indentation
To enable filetype-specific plugins and proper indentation, add this line to your `vimrc`:
```vim
filetype plugin indent on " Enable filetype-based plugins and indentation
```
You can also add any other custom configurations such as tab size, line numbering, or key mappings. For a comprehensive example, refer to [my vimrc](https://git.candifloss.cc/candifloss/vim_config/src/branch/main/vimrc).
---
### 4. Installing the Plugins
Once you've updated your `vimrc`, it’s time to install the plugins.
#### 4.1. Source the `vimrc`
After saving the changes to the `vimrc`, source it to apply the changes:
```vim
:source %
```
#### 4.2. Install Plugins
Run the following command to install the plugins specified in your `vimrc`:
```vim
:PlugInstall " This command is specific to vim-plug
```
This will download and install all the listed plugins.
---
### 5. Done!
Once the installation is complete, your system-wide `vim` should be fully configured with the desired plugins and color schemes. You're now ready to enjoy a fully customized `vim` experience!
---
### Shortcut
To install my config as-is, just run this as root: