Update vim/README.md
This commit is contained in:
parent
b42c0dc31a
commit
27d0b25f88
145
vim/README.md
145
vim/README.md
@ -1,7 +1,146 @@
|
|||||||
System-wide `vim` config location might depend on your distro. On Ubuntu, it is located at `/etc/vim/vimrc`.
|
# System-wide `vimrc` Configuration with Vim-Plug
|
||||||
To get the runtime paths right, you'll need to set them in the vimrc, like so:
|
|
||||||
|
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/).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 1. Setting Up the Configuration Directories
|
||||||
|
|
||||||
|
First, ensure that the necessary directories for system-wide vim configuration exist.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create the main vim configuration directory if it doesn't exist
|
||||||
|
mkdir -p /etc/vim
|
||||||
|
cd /etc/vim
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, create the required subdirectories with appropriate permissions:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create directories for autoload, colors, plugins, session data, etc.
|
||||||
|
mkdir -m 755 autoload colors plugged session sessions
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Installing Vim-Plug and Color Schemes
|
||||||
|
|
||||||
|
#### 2.1. Download Vim-Plug
|
||||||
|
|
||||||
|
Vim-Plug is the plugin manager that will be used to install and manage plugins. Download it to the `autoload` directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fLo /etc/vim/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
|
```
|
||||||
|
|
||||||
|
Set the appropriate permissions for the downloaded file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod o+r /etc/vim/autoload/*
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2.2. Install a Color Scheme (Optional)
|
||||||
|
|
||||||
|
You can choose a color scheme of your choice. For this example, we'll use the **Molokai** color scheme.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fLo /etc/vim/colors/molokai.vim https://raw.githubusercontent.com/tomasr/molokai/refs/heads/master/colors/molokai.vim
|
||||||
|
```
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
```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
|
```vim
|
||||||
set runtimepath+=/etc/vim/autoload
|
set runtimepath+=/etc/vim/autoload
|
||||||
|
set runtimepath+=/etc/vim/plugged
|
||||||
|
set runtimepath+=/etc/vim/colors
|
||||||
```
|
```
|
||||||
And edit other relevent lines accordingly, wherever the paths are specified.
|
|
||||||
|
#### 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/dotfiles/src/branch/main/vim/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 will download and install all the listed plugins.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 5. Enjoy Vim with Plugins
|
||||||
|
|
||||||
|
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!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
- **Permissions**: Ensure that the directories and files in `/etc/vim` have the correct read and execute permissions for all users who need access.
|
||||||
|
|
||||||
|
- **Plugin Conflicts**: If you encounter issues with specific plugins, check their documentation for configuration options or known issues.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Enjoy your new and enhanced `vim` setup!
|
||||||
|
|
||||||
|
---
|
Loading…
Reference in New Issue
Block a user