VimsCode/README.md

120 lines
3.6 KiB
Markdown
Raw Normal View History

2023-05-03 13:08:46 +02:00
## Table of Contents
2023-05-03 12:22:24 +02:00
2023-05-22 16:52:45 +02:00
- [Why VimsCode](#why-vimscode)
2023-05-03 13:08:46 +02:00
- [About](#about)
- [Quick Start](#quick-start)
- [Docs](#docs)
2023-05-22 16:51:29 +02:00
- [Bug](#bug)
2023-05-03 12:22:24 +02:00
2023-05-22 11:51:14 +02:00
## Why VimsCode
2023-05-22 10:18:53 +02:00
2023-05-22 12:11:58 +02:00
### VimsCode, it's beautiful
2023-05-22 10:56:22 +02:00
2023-05-22 11:51:14 +02:00
To write or edit computer code, program an arduino etc... we use IDE (integrated development environment)
Many very complete graphic software exist to do that like VScode from microsoft or Atom.
2023-05-22 10:18:53 +02:00
2023-05-22 11:51:14 +02:00
So why not use them ?
2023-05-22 10:18:53 +02:00
2023-05-22 11:51:14 +02:00
**drawbacks :**
2023-05-22 11:15:01 +02:00
2023-05-22 11:51:14 +02:00
* They are resource intensive, lots of RAM (~1.3 GB, about 18,000 times more than the Apollo 11 mission that sent the first men to the moon :/ )
* They are quite difficult to debug because of the large abstraction layers that make them up
* They don't work without a graphical system (through ssh, on a server or a Raspberry Pi)
* It is sometimes difficult to make them do something simple if it was not planned by the developers
* Its frequent updates sometimes impose changes in working habits (new interfaces, new default configuration, new paths etc.)
2023-05-22 10:18:53 +02:00
2023-05-22 11:51:14 +02:00
So which solution? We suggest you use one of the historical command line text editors (vi, Vim) to make your own IDE :)
2023-05-22 10:18:53 +02:00
2023-05-22 11:14:10 +02:00
**Advantages :**
2023-05-22 11:15:01 +02:00
2023-05-22 11:16:12 +02:00
* Lightweight, ~15Kb which is 4.6 x less than Apollo 11 and 83000 times less than VSCODE!!!
2023-05-22 11:20:22 +02:00
* Configurable, you can configure everything in text files from already shared and popular configurations
* Stable, it only evolves without breaking the ergonomic continuity (always the same commands and shortcuts since 1991 for vim and 1976 for vi :) same for the configurations which remain valid since the beginning...)
* Usable through SSH on servers or very light computers (Raspberry Pi, etc.)
* Rock solid, crashes must exist, but I've never even heard of them
2023-05-22 10:18:53 +02:00
2023-05-22 10:50:47 +02:00
## About
2023-05-22 10:18:53 +02:00
2023-05-22 11:51:14 +02:00
VimsCode is an IDE with vim for beginner or expert :
2023-05-22 10:56:22 +02:00
2023-05-22 11:51:14 +02:00
* VimsCode use arduino-cli, idf-esp and platform.io-cli for remplace VScode only in terminal
* Very easy to use
* Very easy to install
2023-05-22 10:38:34 +02:00
2023-05-22 11:51:14 +02:00
![Example-picture](/pictures/image.png)
2023-05-03 12:22:24 +02:00
2023-05-12 15:32:04 +02:00
## Quick Start
2023-05-03 13:08:46 +02:00
2023-05-22 11:51:14 +02:00
### Introduction :
2023-05-22 12:11:58 +02:00
Installation requires [git; wget; flex; bison; gperf; python3; python3-venv; cmake; ninja-build; ccache; libffi-dev; libssl-dev; dfu-util; libusb-1.0-0]
2023-05-03 13:08:46 +02:00
2023-05-22 16:11:32 +02:00
```
sudo apt update
sudo apt install git wget flex bison gperf python3 python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 elinks
```
2023-05-22 11:51:14 +02:00
### Set up VimsCode :
2023-05-03 13:08:46 +02:00
2023-05-22 17:26:03 +02:00
```
2023-05-22 11:51:14 +02:00
git clone https://git.cohabit.fr/bastien/VimsCode.git
2023-05-22 17:26:03 +02:00
mkdir ~/.vim/bundle && cd ~/.vim/bundle/
git clone https://github.com/VundleVim/Vundle.vim.git
```
2023-05-22 13:25:00 +02:00
2023-05-22 11:51:14 +02:00
After clone don't forgot to rename "vimrc-conf" -> ".vimrc" and "/vim-conf" -> "/vim"
2023-05-03 13:08:46 +02:00
2023-05-22 13:25:00 +02:00
```
cd vimscode
mv vim-conf .vim && mv .vim ~/
mv vimrc-conf .vimrc && mv .vimrc ~/
```
2023-05-22 16:08:40 +02:00
### Alias
Edit your bashrc or zshrc with this ligne :
```
alias vimscode="~/.vim/vimscode.sh"
```
2023-05-22 11:51:14 +02:00
### Install Plugins :
2023-05-03 13:08:46 +02:00
2023-05-22 11:51:14 +02:00
Launch `vim` and run `:PluginInstall`
2023-05-03 13:08:46 +02:00
2023-05-12 15:32:04 +02:00
## Docs
2023-05-03 13:08:46 +02:00
2023-05-22 11:51:14 +02:00
### Short-cute VimsCode :
2023-05-15 12:45:03 +02:00
2023-05-22 16:43:10 +02:00
```
"F2" Shows a vim note
"F3" Shows the tree structure
"F4" Shows the history of changes made
"F5" Shows a terminal at the bottom
"F6" Allows scrolling in the terminal
"F7" Brings up a help site for vim and terminal
"F8" created a new vim tab
"F9" navigate between vim tabs
```
2023-05-22 16:56:13 +02:00
You can change the hight of window with mouse.
Finally you can run vimscode :
```
vimscode -esp "file" # for ESP ide
vimscode -a "file" # for Arduino ide
vimscode -p "file" # for platform.io ide
```
2023-05-15 12:45:03 +02:00
2023-05-22 11:51:14 +02:00
### More Doc :
2023-05-15 12:45:03 +02:00
2023-05-03 13:08:46 +02:00
https://projets.cohabit.fr/redmine/projects/accueil/wiki/Documentation_IDE_Vim
2023-05-22 16:51:29 +02:00
## Bug
If you have "mouse=a" and the "clipboard" option is not included in your Vim, install the vim-gtk package and then you can copy WITH Vim a selecte text and paste it with "Ctrl-v" to an internet browser.
To find out if you have the option :
```
vim --version | grep clipboard
```