{"id":1892,"date":"2022-11-03T18:18:09","date_gmt":"2022-11-03T16:18:09","guid":{"rendered":"http:\/\/www.fabienm.eu\/wordpress\/?p=1892"},"modified":"2024-04-09T21:06:17","modified_gmt":"2024-04-09T19:06:17","slug":"ma-config-neovim","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/wordpress\/2022\/11\/03\/ma-config-neovim\/","title":{"rendered":"Ma config neovim"},"content":{"rendered":"\n<p>Cher blog, je suis en train de migrer vers neovim. Voici donc une prise de notes pour la config.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">fichier de config<\/h2>\n\n\n\n<p>\u00c7a n&rsquo;est plus .vimrc, maintenant c&rsquo;est bien rang\u00e9 dans ~\/.config\/nvim\/init.vim Le miens est constitu\u00e9 ainsi  pour le moment :<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code lang=\"\" class=\"hljs language-xml \">\" me\nlet g:Author = \"Jean-Paul Martoni\"\nlet g:EmailAuthor = \"Moi je dit qu'il @ bluff\"\n\n\" pour avoir le mulot\nset mouse=a\n\n\"enregistrer sans help\nmap <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">F1<\/span>&gt;<\/span> :wall<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">CR<\/span>&gt;<\/span>\nimap <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">F1<\/span>&gt;<\/span> <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">ESC<\/span>&gt;<\/span>:wall<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">CR<\/span>&gt;<\/span>i\n\nmap <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">F1<\/span>&gt;<\/span> :wall<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">CR<\/span>&gt;<\/span>\n\nset textwidth=80\n\nfiletype plugin on\n\" Alternative: use the following to also enable language-dependent indenting.\n\" filetype plugin indent on\n\nlua require('plugins')\n\n\" better tab completion :\nset wildmode=longest,list\n\n\" my standard tab config\nset tabstop=4\nset shiftwidth=4\nset expandtab\n\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Sensibilit\u00e9 \u00e0 la casse de la recherche<\/p>\n\n\n\n<p>Par d\u00e9fault neovim est sensible \u00e0 la casse, ce qui n&rsquo;\u00e9tait pas le cas de mon ancien vim. Par contre si on place une majuscule dans le mot recherch\u00e9, vim devenait sensible \u00e0 la casse. C&rsquo;est le \u00absmartcase\u00bb. <a href=\"https:\/\/neovim.io\/doc\/user\/usr_27.html\">Pour obtenir se comportement il suffit d&rsquo;ajouter cette ligne \u00e0 son init.vim<\/a> :<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code lang=\"\" class=\"hljs \">\" case search\nset ignorecase smartcase<\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Copier coller clique milieu<\/h2>\n\n\n\n<p>Pour faire fonctionner le copier\/coller clique milieu depuis un autre programme il faut ajouter la ligne suivante \u00e0 son fichier de config :<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code lang=\"\" class=\"hljs language-javascript \"><span class=\"hljs-keyword\">set<\/span> clipboard+=unnamedplus<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Par contre pour le moment \u00e7a ne fonctionne pas dans l&rsquo;autre sens (neovim -&gt; autre programme)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Param\u00e8tres d&rsquo;indentations sp\u00e9cifique \u00e0 un langage<\/h2>\n\n\n\n<p>Pour d\u00e9finir mes propres param\u00e8tres pour chaque langages j&rsquo;utilise <a href=\"https:\/\/neovim.io\/doc\/user\/filetype.html\">ftplugin<\/a> que j&rsquo;active dans <code>init.vim<\/code> :<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code lang=\"\" class=\"hljs \">filetype plugin on<\/code><\/span><\/pre>\n\n\n<p>Puis j&rsquo;ajoute mes config dans le fichier de configuration portant le nom du langage. Par exemple, pour avoir des \u00abTAB\u00bb transmut\u00e9 en deux espaces en C++, j&rsquo;ajoute les lignes suivantes dans le fichier <code>~.\/config\/nvim\/ftplugin\/cpp.vim<\/code> :<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code lang=\"\" class=\"hljs language-javascript \"><span class=\"hljs-keyword\">set<\/span> tabstop=2\n<span class=\"hljs-keyword\">set<\/span> shiftwidth=2\n<span class=\"hljs-keyword\">set<\/span> expandtab<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Folding<\/strong><\/p>\n\n\n\n<p>Pour replier du texte, la doc est <a href=\"https:\/\/neovim.io\/doc\/user\/usr_28.html#usr_28.txt\">par l\u00e0.<\/a> Je me suis fait quelques raccourcis dans ~\/.config\/nvim\/init.vim<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code lang=\"\" class=\"hljs \">\"folding\nmap f zfap\n<\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Correction orthographique<\/h2>\n\n\n\n<p>La config de <a href=\"https:\/\/website.vincent-roger.fr\/blogue\/2019\/10\/08\/verifier-vos-fautes-nvim.html\">Vincent-Roger<\/a> fonctionne parfaitement chez moi.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code lang=\"\" class=\"hljs language-xml \">\"~\/.config\/nvim\/init.vim\n\" spell languages\nset spelllang=fr\nnnoremap <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">silent<\/span>&gt;<\/span> <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">C-s<\/span>&gt;<\/span> :set spell!<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">cr<\/span>&gt;<\/span>\ninoremap <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">silent<\/span>&gt;<\/span> <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">C-s<\/span>&gt;<\/span> <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">C-O<\/span>&gt;<\/span>:set spell!<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">cr<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Mapping des chiffres ronds<\/h2>\n\n\n\n<p>Les chiffres entour\u00e9s d&rsquo;un disque plein en unicode permettent de marquer des r\u00e9f\u00e9rences dans un code quand on fait de la doc. C&rsquo;est bien pratique d&rsquo;y avoir acc\u00e8s avec le clavier plut\u00f4t que de faire des copier\/coller incessant.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code lang=\"\" class=\"hljs \">\" mapping des chiffres ronds\nimap \u01530 \u24ff\nimap \u01531 \u278a\nimap \u01532 \u278b\nimap \u01533 \u278c\nimap \u01534 \u278d\nimap \u01535 \u278e\nimap \u01536 \u278f\nimap \u01537 \u2790\nimap \u01538 \u2791\nimap \u01539 \u2792\nimap \u015310 \u2793<\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Probl\u00e8mes<\/h2>\n\n\n\n<p>Les probl\u00e8mes que j&rsquo;ai encore \u00e0 r\u00e9soudre sont :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Je n&rsquo;ai pas l&rsquo;historique du shell quand je relance une commande avec \u00ab:!\u00bb<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Cher blog, je suis en train de migrer vers neovim. Voici donc une prise de notes pour la config. fichier de config \u00c7a n&rsquo;est plus .vimrc, maintenant c&rsquo;est bien rang\u00e9 dans ~\/.config\/nvim\/init.vim Le miens est constitu\u00e9 ainsi pour le moment &hellip; <a href=\"http:\/\/www.fabienm.eu\/wordpress\/2022\/11\/03\/ma-config-neovim\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[285,284],"class_list":["post-1892","post","type-post","status-publish","format-standard","hentry","category-non-classe","tag-config","tag-neovim"],"_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=1892"}],"version-history":[{"count":11,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1892\/revisions"}],"predecessor-version":[{"id":2372,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1892\/revisions\/2372"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=1892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=1892"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=1892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}