Cher blog, je suis en train de migrer vers neovim. Voici donc une prise de notes pour la config.
fichier de config
Ça n’est plus .vimrc, maintenant c’est bien rangé dans ~/.config/nvim/init.vim Le miens est constitué ainsi pour le moment :
" me
let g:Author = "Jean-Paul Martoni"
let g:EmailAuthor = "Moi je dit qu'il @ bluff"
" pour avoir le mulot
set mouse=a
"enregistrer sans help
map <F1> :wall<CR>
imap <F1> <ESC>:wall<CR>i
map <F1> :wall<CR>
set textwidth=80
filetype plugin on
" Alternative: use the following to also enable language-dependent indenting.
" filetype plugin indent on
lua require('plugins')
" better tab completion :
set wildmode=longest,list
" my standard tab config
set tabstop=4
set shiftwidth=4
set expandtab
Langage du code : HTML, XML (xml)
Sensibilité à la casse de la recherche
Par défault neovim est sensible à la casse, ce qui n’était pas le cas de mon ancien vim. Par contre si on place une majuscule dans le mot recherché, vim devenait sensible à la casse. C’est le «smartcase». Pour obtenir se comportement il suffit d’ajouter cette ligne à son init.vim :
" case search
set ignorecase smartcase
Copier coller clique milieu
Pour faire fonctionner le copier/coller clique milieu depuis un autre programme il faut ajouter la ligne suivante à son fichier de config :
set clipboard+=unnamedplus
Langage du code : JavaScript (javascript)
Par contre pour le moment ça ne fonctionne pas dans l’autre sens (neovim -> autre programme)
Paramètres d’indentations spécifique à un langage
Pour définir mes propres paramètres pour chaque langages j’utilise ftplugin que j’active dans init.vim
:
filetype plugin on
Puis j’ajoute mes config dans le fichier de configuration portant le nom du langage. Par exemple, pour avoir des «TAB» transmuté en deux espaces en C++, j’ajoute les lignes suivantes dans le fichier ~./config/nvim/ftplugin/cpp.vim
:
set tabstop=2
set shiftwidth=2
set expandtab
Langage du code : JavaScript (javascript)
Folding
Pour replier du texte, la doc est par là. Je me suis fait quelques raccourcis dans ~/.config/nvim/init.vim
"folding
map f zfap
Correction orthographique
La config de Vincent-Roger fonctionne parfaitement chez moi.
"~/.config/nvim/init.vim
" spell languages
set spelllang=fr
nnoremap <silent> <C-s> :set spell!<cr>
inoremap <silent> <C-s> <C-O>:set spell!<cr>
Langage du code : HTML, XML (xml)
Mapping des chiffres ronds
Les chiffres entourés d’un disque plein en unicode permettent de marquer des références dans un code quand on fait de la doc. C’est bien pratique d’y avoir accès avec le clavier plutôt que de faire des copier/coller incessant.
" mapping des chiffres ronds
imap œ0 ⓿
imap œ1 ➊
imap œ2 ➋
imap œ3 ➌
imap œ4 ➍
imap œ5 ➎
imap œ6 ➏
imap œ7 ➐
imap œ8 ➑
imap œ9 ➒
imap œ10 ➓
Problèmes
Les problèmes que j’ai encore à résoudre sont :
- Je n’ai pas l’historique du shell quand je relance une commande avec «:!»