Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:vim-ide-python [09/12/2015 22:35] Hypathie [VIM IDE pour python] |
utilisateurs:hypathie:tutos:vim-ide-python [12/01/2016 10:24] Hypathie [Installer VIM IDE pour python] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | * Références : \\ https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source \\ https://github.com/thesheff17/youtube/blob/master/vim/vim_notes.txt | ||
Ligne 10: | Ligne 11: | ||
===== Installer VIM IDE pour python ===== | ===== Installer VIM IDE pour python ===== | ||
- | * On supprime les versions vim existantes sur le système | ||
- | En effet, | + | ===Introduction === |
+ | * Si vim est déjà installé il n'est peut être pas configuré avec un interpréteur pour python ou python 3 : | ||
<code user> | <code user> | ||
vim --version | vim --version | ||
Ligne 39: | Ligne 40: | ||
+comments +langmap +printer +visual | +comments +langmap +printer +visual | ||
+conceal +libcall +profile +visualextra | +conceal +libcall +profile +visualextra | ||
- | +cryptv +linebreak +python +viminfo | + | +cryptv +linebreak -python +viminfo |
+cscope +lispindent -python3 +vreplace | +cscope +lispindent -python3 +vreplace | ||
</code> | </code> | ||
- | En effet, ''+python | + | => ''-python -python3'' :-/ |
- | -python3'' | + | |
- | <code root>apt-get remove vim vim-runtime gvim vim-tiny vim-common vim-gui-common</code> | + | * Si l'on veut repartir à neuf : |
- | * On récupère vim à la source et on le compile avec l'option python3 | + | <code root>dpkg --status vim</code> |
+ | <code retour> | ||
+ | Package: vim | ||
+ | Status: install ok installed | ||
+ | Priority: optional | ||
+ | Section: editors | ||
+ | Installed-Size: 2233 | ||
+ | Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> | ||
+ | Architecture: amd64 | ||
+ | Version: 2:7.4.488-7 | ||
+ | Provides: editor | ||
+ | Depends: vim-common (= 2:7.4.488-7), vim-runtime (= 2:7.4.488-7), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.4), libselinux1 (>= 1.32), libtinfo5 | ||
+ | Suggests: ctags, vim-doc, vim-scripts | ||
+ | Description: Vi IMproved - enhanced vi editor | ||
+ | Vim is an almost compatible version of the UNIX editor Vi. | ||
+ | <...> | ||
+ | </code> | ||
- | <code root>cd ~</code> | + | On supprime la version installée et ses dépendances |
- | <code root>hg clone https://code.google.com/p/vim/</code> | + | |
- | <code root>cd vim</code> | + | |
- | <code root>./configure --with-features=huge \ | + | |
- | --enable-multibyte \ | + | |
- | --enable-rubyinterp \ | + | |
- | --enable-python3interp vi_cv_path_python3=/usr/bin/python3.4 \ | + | |
- | --with-python-config-dir=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu \ | + | |
- | --enable-perlinterp \ | + | |
- | --enable-luainterp \ | + | |
- | --enable-gui=gtk2 --enable-cscope --prefix=/usr</code> | + | |
- | <code root>make VIMRUNTIMEDIR=/usr/share/vim/vim74</code> | + | |
- | <code root>apt-get install checkinstall</code> | + | |
- | <code root>checkinstall</code> | + | |
- | <code retour>********************************************************************** | + | <code root>apt-get remove vim vim-common vim-runtime libacl1 libc6 libselinux1 libtinfo5</code> |
- | Done. The new package has been installed and saved to | ||
- | /root/vim/vim_20151209-1_amd64.deb | + | * Sur un système Jessie tout neuf la commande : ''apt-get install vim'' |
- | You can remove it from your system anytime using: | + | installera les paquets ''vim-doc'' et ''vim-scripts''. Il est suggéré d'installer aussi ''vim-common'' et ''vim-runtime''... |
- | dpkg -r vim | + | Allons-y : |
- | **********************************************************************</code> | + | <code root>apt-get install vim vim-common vim-runtime</code> |
- | <note> | ||
- | **Et maintenant ''vim --version'' retourne ''-python +python3 ''** 8-) | ||
- | </note> | ||
- | * On fait de vim son éditeur par défaut | + | |
+ | === Reconfiguration de vim === | ||
+ | |||
+ | Pour utiliser vim avec python3 : | ||
+ | |||
+ | * on installe pour ce qui concerne python 3 : | ||
+ | |||
+ | <code root>apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \ | ||
+ | libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ | ||
+ | libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \ | ||
+ | ruby-dev mercurial</code> | ||
+ | |||
+ | * Pour ce concerne la configuration de vim : | ||
+ | |||
+ | <code root>apt-get install devscripts</code> | ||
+ | |||
+ | |||
+ | * Changer les options de vim | ||
+ | |||
+ | On crée un répertoire où travailler : | ||
+ | |||
+ | <code user>mkdir temp && cd temp</code> | ||
+ | |||
+ | On recupère les sources : | ||
+ | |||
+ | <code user>apt-get source vim</code> | ||
+ | |||
+ | Ce qui donne : | ||
+ | |||
+ | <code user>ls</code> | ||
+ | |||
+ | <code retour>vim-7.4.488 vim_7.4.488-7.debian.tar.xz vim_7.4.488-7.dsc vim_7.4.488.orig.tar.gz</code> | ||
+ | |||
+ | On se déplace dans le dossier ''vim-7.4.488'' : | ||
+ | |||
+ | <code user>cd vim-7.4.488</code> | ||
+ | |||
+ | Pour reconstruire vim : | ||
+ | |||
+ | <code root>apt-get build-dep vim</code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Pour faire de vim son éditeur par défaut=== | ||
<code root>update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1</code> | <code root>update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1</code> | ||
Ligne 88: | Ligne 132: | ||
<code root>update-alternatives --set vi /usr/bin/vim</code> | <code root>update-alternatives --set vi /usr/bin/vim</code> | ||
- | * On fait de vim un véritable petit IDE pour coder en python | + | ===vim IDE pour python 3=== |
+ | |||
+ | * On installe git | ||
+ | <code root>apt-get install git</code> | ||
+ | |||
+ | * On télécharge ce script | ||
- | On télécharge ce script | ||
<code text configVim.sh> | <code text configVim.sh> | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 113: | Ligne 161: | ||
printf "Et voilà !\n" | printf "Et voilà !\n" | ||
</code> | </code> | ||
+ | |||
+ | * On installe cette configuration | ||
+ | |||
<code user>mv ~/Téléchargements/configVim.sh ~/</code> | <code user>mv ~/Téléchargements/configVim.sh ~/</code> | ||
<code user>chmod +x configVim.sh</code> | <code user>chmod +x configVim.sh</code> | ||
<code user>./configVim.sh</code> | <code user>./configVim.sh</code> | ||
- | =====Configurer Vim pour Python ===== | ||
- | |||
- | * On installe curl | ||
- | |||
- | <code root>apt-get install curl</code> | ||
- | |||
- | * On installe git : | ||
- | |||
- | <code root>apt-get install git-core</code> | ||
- | |||
- | * On installe pathogen | ||
- | |||
- | Voir : https://github.com/search?utf8=%E2%9C%93&q=pathogen | ||
- | |||
- | <code user> | ||
- | mkdir -p ~/.vim/autoload ~/.vim/bundle && \ | ||
- | curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim | ||
- | </code> | ||
- | |||
- | * On crée et édite un fichier caché ~/.vimrc : | ||
- | |||
- | <code user>vim ~/.vimrc</code> | ||
- | |||
- | <file> | ||
- | execute pathogen#infect() | ||
- | syntax on | ||
- | filetype plugin indent on | ||
- | </file> | ||
- | |||
- | pathogen va chercher dans le répertoire bundle les plugin qu'on lui a installé et les utiliser comme si on les avait installé dans le fichier .vimrc | ||
- | |||
- | * On installe le module nerdtree : | ||
- | |||
- | Voir : https://github.com/scrooloose/nerdtree | ||
- | |||
- | <code user>git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree</code> | ||
<note tip> | <note tip> | ||
- | ** | + | Pour la supprimer, c'est simple : |
- | Principales commandes de NERD Tree :** | + | |
- | + | ||
- | + | ||
- | t: Ouvrir le fichier sélectionné dans un nouvel onglet | + | |
- | i: Ouvrez le fichier sélectionné dans une fenêtre fissure verticale | + | |
- | s: Open the selected file in a vertical split window | + | |
- | I: Commutation de fichiers cachés | + | |
- | m: Pour faire apparaître un menu qui vous permettra d'ajouter rapidement, déplacer(=renomer), copier et supprimer des nœuds (ou fichiers). | + | |
- | R: Actualiser l'arbre, utile si les fichiers ont changés en dehors de Vim | + | |
- | ?: Commutation entre l'aide rapide et l'explorateur NERD Tree | + | |
- | Ctrl +w puis w: Passer de l'explorateur NERD Tree à la fenêtre d'édition des fichiers | + | |
+ | <code user>rm -rf ~/.vim/ && rm -r ~/.vimrc</code> | ||
</note> | </note> | ||
- | * On installe vim-airLine améliorer le statusline. | + | * Pour avoir la même configuration quand on lance vim en root |
- | + | ||
- | <code user>git clone https://github.com/bling/vim-airline.git ~/.vim/bundle/vim-airline</code> | + | |
- | + | ||
- | On ajoute la ligne suivante dans ''~./vimrc'' : | + | |
- | + | ||
- | <code>let g:airline#extensions#tabline#enabled = 1</code> | + | |
+ | <code root>cd ~</code> | ||
+ | <code root>wget https://raw.githubusercontent.com/thesheff17/youtube/master/vim/vim.py</code> | ||
+ | <code root>chmod +x ./vim.py</code> | ||
+ | <code root>./vim.py -u root</code> | ||
<note tip> | <note tip> | ||
- | * Après avoir ouvert plusieurs fichiers, pour passer d'un fichier à l'autre, le curseur entant placé dans l'encadré d'édition d'un fichier: | + | Et pour supprimer cette configuration de vim utiliser en tant que root : |
- | - On peut utiliser la commande vim '':register'' puis on choisit son buffer ; | + | <code root>cd ~ && rm -rf ~/.vim/ && rm -r ~/.vimrc</code> |
- | - On peut faire '':bn'' (pour Buffer Next) ou '':bp'' (pour Buffer Prevous) ; | + | |
- | + | ||
- | * On peut se faire un racourcit : | + | |
- | + | ||
- | - On édite ''~/.vimrc'' | + | |
- | - on ajoute : | + | |
- | + | ||
- | <code> | + | |
- | nmap <C-n> :bn<CR> | + | |
- | nmap <C-p> :bp<CR> | + | |
- | </code> | + | |
- | + | ||
- | * Pour utiliser la souris | + | |
- | + | ||
- | <code> | + | |
- | set mouse=a | + | |
- | </code> | + | |
</note> | </note> | ||
+ | =====Utilisations===== | ||
- | * Utilisation de la souris pour naviger entre les fenêtres, et sélectionner dans une seule fenêtre (i.e mode visuel de vim) | ||
- | |||
- | On édite ''~/.vimrc'' | ||
- | |||
- | On ajoute : | ||
- | <file> | ||
- | set mouse=a | ||
- | </file> | ||
- | |||
- | * On ajoute le plugin syntastic | ||
- | |||
- | Voir : https://github.com/scrooloose/syntastic | ||
- | |||
- | <code user>git clone https://github.com/scrooloose/syntastic.git ~/.vim/bundle/syntastic</code> | ||
- | |||
- | * On ajoute le plugin tagbar | ||
- | |||
- | <code user>git clone https://github.com/majutsushi/tagbar.git ~/.vim/bundle/tagbar</code> | ||
- | |||
- | <note tip> | ||
- | Ajout dans '' ~/.vimrc '' | ||
- | <code> | ||
- | "Racourci clavier pour basculer avec Tagbar | ||
- | nmap <F2> :TagbarToggle<CR> | ||
- | </code> | ||
- | </note> | ||
- | |||
- | |||
- | * Ajout de l'autocomplétion : | ||
- | <note tip> | ||
- | Ajout dans '' ~/.vimrc '' | ||
- | <code> | ||
- | "Pour utiliser un plugin d'autocomplétion | ||
- | set omnifunc=syntaxComplet#Complete | ||
- | </code> | ||
- | </note> | ||
===== VIM IDE DJANGO ===== | ===== VIM IDE DJANGO ===== | ||