<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Marin Lagacé - Programmation</title><link href="https://www.marinlagace.ca/" rel="alternate"></link><link href="https://www.marinlagace.ca/feeds/programmation.atom.xml" rel="self"></link><id>https://www.marinlagace.ca/</id><updated>2020-12-05T17:29:00-05:00</updated><entry><title>Qt Traduction: Qualifying with unknown namespace/class</title><link href="https://www.marinlagace.ca/2020/qt-traduction-qualifying-with-unknown-namespace-class.html" rel="alternate"></link><published>2020-12-05T17:29:00-05:00</published><updated>2020-12-05T17:29:00-05:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-12-05:/2020/qt-traduction-qualifying-with-unknown-namespace-class.html</id><summary type="html">&lt;p class="first last"&gt;Solution pour l'erreur 'Qualifying with unknown namespace/class'
durant le processus de traduction de Qt.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Je traduisais une librarie utilisant &lt;a class="reference external" href="https://www.qt.io"&gt;Qt&lt;/a&gt; lorsque j'ai
rencontré cette erreur.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;[ 44%] Generating foo_fr.ts
Bar.cpp:40: Qualifying with unknown namespace/class ::Bar
Updating &amp;#39;foo_fr.ts&amp;#39;...
    Found 3 source text(s) (3 new and 0 already existing)
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je n'ai pas trouvé beaucoup d'information concernant cette erreur sur internet.
Heureusement, je suis tombé sur &lt;a class="reference external" href="https://stackoverflow.com/a/24245615"&gt;cet article&lt;/a&gt; de &lt;span class="app"&gt;StackOverflow&lt;/span&gt; qui m'a guidé
vers une solution au problème.&lt;/p&gt;
&lt;p&gt;Le problème provient du design de la librarie. Ses fichiers d'entête ne sont
pas dans le même répertoire que ses fichiers d'implémentation.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;Foo
|-- include
|   &amp;#39;-- foo
|       &amp;#39;-- Bar.hpp
+-- src
|   |-- Bar.cpp
|   +-- CMakeLists.txt
+-- CMakeLists.txt
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ceci pose problème parce que les utilitaires de traduction de &lt;span class="app"&gt;Qt&lt;/span&gt;
s'attendent à retrouver les fichiers d'entête dans le même répertoire que les
fichiers d'implémentation. Si ce n'est pas le cas, on doit spéficier le
répertoire des fichiers d'entête lorsqu'on utilise &lt;code&gt;lupdate&lt;/code&gt;. Puisque la
librarie que je traduisais est compilée à l'aide de &lt;a class="reference external" href="https://cmake.org"&gt;CMake&lt;/a&gt;, il suffit d'utiliser la macro
&lt;code&gt;qt5_create_translation&lt;/code&gt; à laquelle on ajoute l'option &lt;code&gt;-I&lt;/code&gt; suivie
du répertoire des fichiers d'entête au paramètre &lt;code&gt;OPTIONS&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nb"&gt;qt5_create_translation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;QM_FILES&lt;/span&gt;
    &lt;span class="s"&gt;Bar.cpp&lt;/span&gt;
    &lt;span class="s"&gt;foo_fr.ts&lt;/span&gt;
    &lt;span class="s"&gt;OPTIONS&lt;/span&gt; &lt;span class="s"&gt;-I&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CMAKE_CURRENT_SOURCE_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/../include&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
</content><category term="Qt"></category><category term="CMake"></category></entry><entry><title>Vim Portable sous Windows</title><link href="https://www.marinlagace.ca/2020/vim-portable-sous-windows.html" rel="alternate"></link><published>2020-12-01T22:11:00-05:00</published><updated>2020-12-01T22:11:00-05:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-12-01:/2020/vim-portable-sous-windows.html</id><summary type="html">&lt;p class="first last"&gt;Comment configurer la version portable de Vim sous Windows afin
d'utiliser Fugitive et Ultisnips.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Lorsque j'écris du code sous &lt;span class="os"&gt;Windows&lt;/span&gt;, j'utilise habituellement &lt;a class="reference external" href="https://www.vim.org/"&gt;Vim&lt;/a&gt; sous &lt;a class="reference external" href="https://www.cygwin.com"&gt;Cygwin&lt;/a&gt;. J'utilise ma
&lt;a class="reference external" href="https://www.marinlagace.ca/2020/cygwin-portable.html"&gt;petite astuce&lt;/a&gt; pour rendre mon installation
de &lt;span class="os"&gt;Cygwin&lt;/span&gt; portable. Ceci me permet de la copier sur tous mes ordinateurs.&lt;/p&gt;
&lt;p&gt;J'utilise abondamment &lt;a class="reference external" href="http://github.com/tpope/vim-fugitive"&gt;Fugitive&lt;/a&gt; qui est
un module qui facilite grandement l'utilisation de &lt;span class="app"&gt;Git&lt;/span&gt; sans devoir
quitter &lt;span class="app"&gt;Vim&lt;/span&gt;. Malheureusement, &lt;span class="app"&gt;Fugitive&lt;/span&gt; tourne extrêmement
lentement sur mon princial ordinateur de travail. Ainsi, sur cet ordinateur,
j'utilise plutôt &lt;a class="reference external" href="https://portableapps.com/apps/development/gvim_portable"&gt;gVim Portable&lt;/a&gt; de la plateforme
&lt;span class="app"&gt;PortableApps&lt;/span&gt; . Le petit défi est de faire intéragir &lt;span class="app"&gt;gVim Portable&lt;/span&gt;
avec &lt;span class="app"&gt;Git&lt;/span&gt; (pour &lt;span class="app"&gt;Fugitive&lt;/span&gt;) et &lt;span class="lang"&gt;Python&lt;/span&gt; (pour &lt;a class="reference external" href="https://github.com/sirver/UltiSnips"&gt;UltiSnips&lt;/a&gt;). Le truc est d'installer &lt;span class="app"&gt;Git&lt;/span&gt; et
la version appropriée de &lt;span class="lang"&gt;Python&lt;/span&gt; et ensuite ajuster le fichier de
configuration de &lt;span class="app"&gt;gVim Portable&lt;/span&gt;.&lt;/p&gt;
&lt;div class="section" id="installation-de-git-portable"&gt;
&lt;h2&gt;Installation de Git portable&lt;/h2&gt;
&lt;p&gt;Téléchargez-le du &lt;a class="reference external" href="https://git-scm.com/download/win"&gt;site web&lt;/a&gt;. Assurez-vous
de télécharger la version portable.&lt;/p&gt;
&lt;img alt="Téléchargement Git portable" class="align-center" src="https://www.marinlagace.ca/images/Portable_Git_Download.png" /&gt;
&lt;p&gt;Installez-le au côté de &lt;span class="app"&gt;gVim Portable&lt;/span&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;e:
├── gVimPortable
│   ├── App
│   ├── ...
│   ├── gVimPortable.exe
│   └── ...
└── PortableGit
    ├── bin
    ├── ...
    ├── git-bash.exe
    ├── git-cmd.exe
    └── ...
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="installation-de-python"&gt;
&lt;h2&gt;Installation de  Python&lt;/h2&gt;
&lt;p&gt;Il est important d'installer la version appropriée de &lt;span class="lang"&gt;Python&lt;/span&gt;. Vous devez
installer &lt;span class="app"&gt;Python 3&lt;/span&gt; parce qu'&lt;span class="app"&gt;Ultisnips&lt;/span&gt; ne supporte plus
&lt;span class="app"&gt;Python 2&lt;/span&gt;. De plus, vous devez installer la version de &lt;span class="lang"&gt;Python&lt;/span&gt; que
&lt;span class="app"&gt;Vim&lt;/span&gt; s'attend à retrouver sur votre système. Référez-vous à &lt;a class="reference external" href="https://www.marinlagace.ca/2020/ultisnips-sous-cygwin.html"&gt;mon article&lt;/a&gt; sur l'installation d'&lt;span class="app"&gt;Ultisnips&lt;/span&gt;
sous &lt;span class="os"&gt;Cygwin&lt;/span&gt; pour une explication des opérations à exécuter pour déterminer
la version de &lt;span class="lang"&gt;Python&lt;/span&gt; pour laquelle &lt;span class="app"&gt;Vim&lt;/span&gt; a été compilée.&lt;/p&gt;
&lt;p&gt;Au moment de l'écriture de cet article, &lt;span class="app"&gt;gVim&lt;/span&gt; nécessite &lt;a class="reference external" href="https://www.python.org/downloads/release/python-368/"&gt;Python 3.6&lt;/a&gt;. De plus, &lt;span class="app"&gt;gVim&lt;/span&gt; a
été compilé pour la version 32&amp;nbsp;bits de &lt;span class="os"&gt;Windows&lt;/span&gt;.&lt;/p&gt;
&lt;img alt="gVim Portable version 32bit" class="align-center" src="https://www.marinlagace.ca/images/gVim_Portable_version_32bit.png" /&gt;
&lt;p&gt;La version portable &lt;em&gt;x86&lt;/em&gt; doit donc être utilisée.&lt;/p&gt;
&lt;img alt="Python 386 X86 Portable Download" class="align-center" src="https://www.marinlagace.ca/images/Python_368_X86_Portable_Download.png" /&gt;
&lt;p&gt;Tel que pour &lt;span class="app"&gt;Git&lt;/span&gt;, installez &lt;span class="lang"&gt;Python&lt;/span&gt; au côté de &lt;span class="app"&gt;gVim&lt;/span&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;e:
├── gVimPortable
│   ├── ...
│   ├── gVimPortable.exe
│   └── ...
├── PortableGit
│   ├── ...
│   ├── git-bash.exe
│   ├── git-cmd.exe
│   └── ...
└── Python36-x86
    ├── ...
    ├── python.exe
    ├── ...
    ├── python36.dll
    └── ...
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="configuration-de-gvim-portable"&gt;
&lt;h2&gt;Configuration de gVim Portable&lt;/h2&gt;
&lt;p&gt;Nous devons maintenant informer &lt;span class="app"&gt;gVim Portable&lt;/span&gt; de l'endroit où est
installé &lt;span class="app"&gt;Git&lt;/span&gt; et &lt;span class="app"&gt;Python&lt;/span&gt;. Pour ce faire, nous devons modifier le
fichier &lt;span class="path"&gt;gVimPortable.ini&lt;/span&gt; situé au fin fond de la structure de répertoire
de &lt;span class="app"&gt;gVim Portable&lt;/span&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;e:
└── gVimPortable
    └── App
        └── AppData
            └── Launcher
                └── gVimPortable.ini
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ajoutez les variables &lt;code&gt;PYTHON_HOME&lt;/code&gt; et &lt;code&gt;GIT_HOME&lt;/code&gt; à la section
&lt;code&gt;[Environment]&lt;/code&gt; du fichier.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;[Environment]&lt;/span&gt;
&lt;span class="na"&gt;VIM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:AppDir%\vim&lt;/span&gt;
&lt;span class="na"&gt;VIMRUNTIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:AppDir%\vim\vim80&lt;/span&gt;
&lt;span class="na"&gt;HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:DataDir%\settings&lt;/span&gt;
&lt;span class="na"&gt;LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:LanguageCustom%&lt;/span&gt;
&lt;span class="hll"&gt;&lt;span class="na"&gt;PYTHON_HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:PortableAppsDir%\Python36-x86&lt;/span&gt;
&lt;/span&gt;&lt;span class="hll"&gt;&lt;span class="na"&gt;GIT_HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;%PAL:PortableAppsDir%\PortableGit&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Finalement, modifiez la variable &lt;code&gt;PATH&lt;/code&gt; dans votre fichier &lt;span class="path"&gt;.vimrc&lt;/span&gt;
pour y ajouter l'endroit où se situe vos installation de &lt;span class="app"&gt;Git&lt;/span&gt; et
&lt;span class="app"&gt;Python&lt;/span&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;!&lt;/span&gt;empty&lt;span class="p"&gt;(&lt;/span&gt;$PYTHON_HOME&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;let&lt;/span&gt; $PATH .&lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;;&amp;#39;&lt;/span&gt; . $PYTHON_HOME . &lt;span class="s1"&gt;&amp;#39;;&amp;#39;&lt;/span&gt; . $PYTHON_HOME . &lt;span class="s1"&gt;&amp;#39;\scripts&amp;#39;&lt;/span&gt;
  &lt;span class="k"&gt;let&lt;/span&gt; $PYTHONHOME &lt;span class="p"&gt;=&lt;/span&gt; $PYTHON_HOME
&lt;span class="k"&gt;endif&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;!&lt;/span&gt;empty&lt;span class="p"&gt;(&lt;/span&gt;$GIT_HOME&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;let&lt;/span&gt; $PATH .&lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;;&amp;#39;&lt;/span&gt; . $GIT_HOME . &lt;span class="s1"&gt;&amp;#39;\bin&amp;#39;&lt;/span&gt;
&lt;span class="k"&gt;endif&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois les modifications terminées, &lt;span class="app"&gt;Fugitive&lt;/span&gt; et &lt;span class="app"&gt;Ultisnips&lt;/span&gt;
devrait fonctionner parfaitement lorsque vous éditerez des fichiers avec votre
installation de &lt;span class="app"&gt;gVim Portable&lt;/span&gt;.&lt;/p&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
&lt;/div&gt;
</content><category term="Vim"></category><category term="Windows"></category></entry><entry><title>UltiSnips sous Cygwin</title><link href="https://www.marinlagace.ca/2020/ultisnips-sous-cygwin.html" rel="alternate"></link><published>2020-06-27T10:01:00-04:00</published><updated>2020-06-27T10:01:00-04:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-06-27:/2020/ultisnips-sous-cygwin.html</id><summary type="html">&lt;p class="first last"&gt;UltiSnips nécessite l'installation de Python. Mais quelle version?&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/sirver/UltiSnips" class="reference external"&gt;UltiSnips&lt;/a&gt; est un des modules
d'extension de &lt;a href="https://www.vim.org/" class="reference external"&gt;Vim&lt;/a&gt; que j'utilise le plus. Il permet
d'écrire des macros (appelés &lt;em&gt;snippets&lt;/em&gt;) qui insèrent des bouts de texte
prédéfinis à l'endroit désiré dans le fichier. Ces &lt;em&gt;snippets&lt;/em&gt; me permettent
d'automatiser l'écriture de bout de code répétitif. Ils peuvent être plutôt
simple comme celui-ci qui écrit le code &lt;span class=lang&gt;C++&lt;/span&gt; nécessaire pour imprimer du
texte à l'écran:&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/UltiSnips_cpp_sout.gif" alt="UltiSnips macro simple" class=align-center&gt;
&lt;p&gt;Ils peuvent également être plus complexes comme celui-ci qui crée l'entête d'une
classe en &lt;span class=lang&gt;C++&lt;/span&gt;:&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/UltiSnips_cpp_header2.gif" alt="UltiSnips macro complexe" class=align-center&gt;
&lt;p&gt;&lt;span class=app&gt;UltiSnips&lt;/span&gt; requiert &lt;span class=lang&gt;Python&lt;/span&gt;3 pour rouler. Il faut donc que
&lt;span class=app&gt;Vim&lt;/span&gt; ait été compilé avec le support pour &lt;span class=lang&gt;Python&lt;/span&gt;3. Pour
vérifier, démarrez &lt;span class=app&gt;Vim&lt;/span&gt; avec l'argument &lt;tt class="docutils literal"&gt;&lt;span class=pre&gt;--version&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/Cygwin_Vim_Version.png" alt="Vim Version sous Cygwin" class=align-center&gt;
&lt;p&gt;C'est heureusement le cas pour la version de &lt;span class=app&gt;Vim&lt;/span&gt; de la logithèque de
&lt;span class=app&gt;Cygwin&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Il ne suffit cependant pas d'avoir installé &lt;span class=lang&gt;Python&lt;/span&gt; pour
qu'&lt;span class=app&gt;UltiSnips&lt;/span&gt; fonctionne automatiquement. Il faut avoir installé la même
version que celle pour laquelle &lt;span class=app&gt;Vim&lt;/span&gt; a été compilé. Pour déterminer si le
lien entre &lt;span class=app&gt;Vim&lt;/span&gt; et &lt;span class=lang&gt;Python&lt;/span&gt; fonctionne bien, on peut simplement
essayer d'exécuter n'importe quelle expression &lt;span class=lang&gt;Python&lt;/span&gt; dans &lt;span class=app&gt;Vim&lt;/span&gt; à
l'aide de la command &lt;tt class="docutils literal"&gt;:python3&lt;/tt&gt;.
&lt;sup id=sf-ultisnips-on-cygwin-1-back&gt;&lt;a href=#sf-ultisnips-on-cygwin-1 title=" UltiSnips ne support plus Python2 depuis le commit d2f42d6. Il est donc important de tester à l'aide de la command :python3. " class=simple-footnote&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/Cygwin_Vim_Python_Version_Detection.png" alt="Détection de la version de Python dans Vim sous Cygwin" class=align-center&gt;
&lt;p&gt;Si le lien &lt;span class=app&gt;Vim&lt;/span&gt;/&lt;span class=lang&gt;Python&lt;/span&gt; est bon, l'expression sera exécutée sans
erreur. Dans le cas contraire, un message d'erreur apparaîtra au bas de la
fenêtre.&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/Cygwin_Vim_Python_Version_Error.png" alt="Message d'erreur donnant la version de Python dans Vim sous Cygwin" class=align-center&gt;
&lt;p&gt;On voit ici que &lt;span class=app&gt;Vim&lt;/span&gt; recherche la version 3.7 de &lt;span class=lang&gt;Python&lt;/span&gt;. Il ne
suffit donc que de retourner dans l'application d'installation de &lt;span class=app&gt;Cygwin&lt;/span&gt;
et installer le paquet &lt;tt class="docutils literal"&gt;python37&lt;/tt&gt;.&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/Cygwin_Python37_Package.png" alt="Paquet Python37 sous Cygwin" class=align-center&gt;
&lt;p&gt;Une fois l'installation du paquet complétée, &lt;span class=app&gt;UltiSnips&lt;/span&gt; devrait
fonctionner correctment.&lt;/p&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
&lt;ol class=simple-footnotes&gt;&lt;li id=sf-ultisnips-on-cygwin-1&gt; &lt;span class=app&gt;UltiSnips&lt;/span&gt; ne support plus &lt;span class=lang&gt;Python&lt;/span&gt;2 depuis le commit
&lt;a href="https://github.com/SirVer/ultisnips/commit/d2f42d6b43902e5b2ef7bfca2579ccb6cc9f52c0" class="reference external"&gt;d2f42d6&lt;/a&gt;.
Il est donc important de tester à l'aide de la command &lt;tt class="docutils literal"&gt;:python3&lt;/tt&gt;.
 &lt;a href=#sf-ultisnips-on-cygwin-1-back class=simple-footnote-back&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content><category term="vim"></category><category term="cygwin"></category></entry><entry><title>FileBeagle</title><link href="https://www.marinlagace.ca/2020/filebeagle.html" rel="alternate"></link><published>2020-05-31T19:50:00-04:00</published><updated>2020-05-31T19:50:00-04:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-05-31:/2020/filebeagle.html</id><summary type="html">&lt;p class="first last"&gt;Un excellent navigateur de répertoire pour Vim à découvrir.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;a href="https://www.vim.org/" class="reference external"&gt;Vim&lt;/a&gt; possède &lt;a href="https://shapeshed.com/vim-netrw/" class="reference external"&gt;netrw&lt;/a&gt; comme navigateur de répertoire. Il est
plutôt basique ce qui plaît à certaines personnes. D'autre le trouve trop
basique et peu intuitif. &lt;a href="https://tpo.pe/" class="reference external"&gt;Tim Pope&lt;/a&gt; a écrit &lt;a href="https://github.com/tpope/vim-vinegar" class="reference external"&gt;vinegar&lt;/a&gt; afin "d'améliorer &lt;span class=app&gt;netrw&lt;/span&gt;,
partiellement comme tentative de mitiger le besoin pour des modules de style
'tiroir à projet' plutôt perturbateurs"
&lt;sup id=sf-filebeagle-1-back&gt;&lt;a href=#sf-filebeagle-1 title=" &amp;quot;enhance netrw, partially in an attempt to mitigate the need for more disruptive 'project drawer' style plugins&amp;quot;. (https://github.com/tpope/vim-vinegar/blob/master/README.markdown) " class=simple-footnote&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Un navigateur de répertoire très populaire est &lt;a href="https://github.com/scrooloose/nerdtree" class="reference external"&gt;NERDTree&lt;/a&gt;. Il est très joli et comporte
&lt;a href="https://www.youtube.com/watch?v=CPu9mDpSYj0" class="reference external"&gt;beaucoup de fonctionnalités&lt;/a&gt;. Je
le trouve un peu trop lourd à mon goût par contre.&lt;/p&gt;
&lt;p&gt;Je préfère utiliser &lt;a href="https://github.com/jeetsukumaran/vim-filebeagle" class="reference external"&gt;FileBeagle&lt;/a&gt;. Il est simple et efficace.
Son créateur le décrit ainsi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;span class=app&gt;Vim&lt;/span&gt; est un éditeur de texte et non pas un système d'opération qui
peut éditer du texte. &lt;span class=app&gt;FileBeagle&lt;/span&gt; respecte ce fait et tente de s'y
conformer autant en esprit qu'en pratique. Si vous recherchez un module
servant de gestionnaire de fichiers à même &lt;span class=app&gt;Vim&lt;/span&gt;, &lt;span class=app&gt;FileBeagle&lt;/span&gt;
n'est par pour vous. &lt;span class=app&gt;FileBeagle&lt;/span&gt; ne peut copier, effacer,
déplacer/renommer ou effectuer toute autre opération sur les fichiers.
&lt;span class=app&gt;FileBeagle&lt;/span&gt; liste et ouvre les fichiers
&lt;sup id=sf-filebeagle-2-back&gt;&lt;a href=#sf-filebeagle-2 title=' "Vim is a text editor, not an operating system that can edit text. FileBeagle respects this, and attempts to conform to this both in spirit and in practice. If you are looking for a plugin to serve as a filesystem manager from within Vim, FileBeagle is not it. FileBeagle does not support copying, deleting, moving/renaming, or any other filesystem operations. FileBeagle lists and opens files". (https://github.com/jeetsukumaran/vim-filebeagle/blob/master/README.md) ' class=simple-footnote&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/blockquote&gt;
&lt;p&gt;La touche &lt;span class=kbd&gt;-&lt;/span&gt; ouvre le répertoire du fichier courant dans
&lt;span class=app&gt;FileBeagle&lt;/span&gt;. Vous pouvez utiliser les touches de navigation standard pour
vous déplacer vers un répertoire ou un fichier ou appuyer sur &lt;span class=kbd&gt;-&lt;/span&gt; pour
remonter au répertoire parent. La touche &lt;span class=kbd&gt;Enter&lt;/span&gt; vous amène dans le
répertoire sélectionné ou ouvre le fichier sélectionné. Il y a plusieurs autres
fonctions disponibles. Je vous laisse le soin de consulter la &lt;a href="https://github.com/jeetsukumaran/vim-filebeagle/blob/master/doc/filebeagle.txt" class="reference external"&gt;documentation du
module&lt;/a&gt;
pour plus d'information.&lt;/p&gt;
&lt;img src="https://www.marinlagace.ca/images/FileBeagle.gif" alt=FileBeagle class=align-center&gt;
&lt;p&gt;J'aime bien que &lt;span class=app&gt;FileBeagle&lt;/span&gt; affiche les fichiers cachés et les numéros des
lignes. Voici les variables que j'ai ajoutées à mon fichier &lt;tt class="docutils literal"&gt;.vimrc&lt;/tt&gt; afin
d'activer ces caractéristiques.&lt;/p&gt;
&lt;div class=highlight&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=k&gt;let&lt;/span&gt; filebeagle_show_hidden&lt;span class=p&gt;=&lt;/span&gt;&lt;span class=m&gt;1&lt;/span&gt;
&lt;span class=k&gt;let&lt;/span&gt; filebeagle_show_line_numbers&lt;span class=p&gt;=&lt;/span&gt;&lt;span class=m&gt;1&lt;/span&gt;
&lt;span class=k&gt;let&lt;/span&gt; filebeagle_show_line_relativenumbers&lt;span class=p&gt;=&lt;/span&gt;&lt;span class=m&gt;0&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Essayez &lt;span class=app&gt;FileBeagle&lt;/span&gt;. Vous allez probablement l'apprécier.&lt;/p&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
&lt;ol class=simple-footnotes&gt;&lt;li id=sf-filebeagle-1&gt; "enhance &lt;span class=app&gt;netrw&lt;/span&gt;, partially in an attempt to mitigate the need for
more disruptive 'project drawer' style plugins".
(&lt;a href="https://github.com/tpope/vim-vinegar/blob/master/README.markdown" class="reference external"&gt;https://github.com/tpope/vim-vinegar/blob/master/README.markdown&lt;/a&gt;)  &lt;a href=#sf-filebeagle-1-back class=simple-footnote-back&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=sf-filebeagle-2&gt; "&lt;span class=app&gt;Vim&lt;/span&gt; is a text editor, not an operating system that can edit
text. &lt;span class=app&gt;FileBeagle&lt;/span&gt; respects this, and attempts to conform to this both
in spirit and in practice. If you are looking for a plugin to serve as a
filesystem manager from within &lt;span class=app&gt;Vim&lt;/span&gt;, &lt;span class=app&gt;FileBeagle&lt;/span&gt; is not it.
&lt;span class=app&gt;FileBeagle&lt;/span&gt; does not support copying, deleting, moving/renaming, or
any other filesystem operations. &lt;span class=app&gt;FileBeagle&lt;/span&gt; lists and opens files".
(&lt;a href="https://github.com/jeetsukumaran/vim-filebeagle/blob/master/README.md" class="reference external"&gt;https://github.com/jeetsukumaran/vim-filebeagle/blob/master/README.md&lt;/a&gt;)
 &lt;a href=#sf-filebeagle-2-back class=simple-footnote-back&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content><category term="vim"></category></entry></feed>