Après avoir cherché un peu sur le net, il semble que je ne puisse pas mapper l'espace ctrl sur rien / beaucoup. Y at-il un moyen de le faire aujourd'hui, ce que j'ai trouvé était généralement âgé de 2 ans.
Réponses
Trop de publicités?Le problème semble être que le Terminal.application ne pas interpréter <C-Space>
correctement et Vim, il comprend qu' <C-@>
qui est intégré dans la cartographie (:help CTRL-@
).
Peut-être que vous pourriez aller avec quelque chose comme ce qui suit dans votre .vimrc:
if !has("gui_running")
inoremap <C-@> <C-x><C-o>
endif
qui semble fonctionner, ici, mais je n'aime pas l'idée de l'annulation de la built-ins comme ça.
Au lieu de cela, vous devriez essayer avec <Leader>
(:help leader
), elle offre des possibilités énormes pour la définition de vos propres mappings et (selon le mapleader
vous choisissez) n'interfère pas avec OS/application spécifique raccourcis/limites et, par conséquent, être plus portable.
Avec ce dans mon .vimrc:
let mapleader=","
inoremap <leader>, <C-x><C-o>
Je viens de frapper ,,
pour l'ensemble de la méthode des noms.
Le nitpicker a cassé la solution de pablox. Le nœud de la solution était sur le point de remapper. Ainsi, lorsque vous désactivez le remappage, cela ne peut pas fonctionner.
Si vous voulez vraiment ajouter un noremap
, voici à quoi ça ressemble:
inoremap <expr><C-space> neocomplete#start_manual_complete()
imap <C-@> <C-Space>
Ce qui ne fonctionnera pas : inoremap <C-@> <C-Space>
- car la partie <C-Space>
ne sera pas remappée elle-même.
Ajoutez le code suivant à ~/.vimrc
:
" Ctrl-Space for completions. Heck Yeah!
inoremap <expr> <C-Space> pumvisible() \|\| &omnifunc == '' ?
\ "\<lt>C-n>" :
\ "\<lt>C-x>\<lt>C-o><c-r>=pumvisible() ?" .
\ "\"\\<lt>c-n>\\<lt>c-p>\\<lt>c-n>\" :" .
\ "\" \\<lt>bs>\\<lt>C-n>\"\<CR>"
imap <C-@> <C-Space>
Source: https://coderwall.com/p/cl6cpq