À propos des endroits à visiter, si tout est à faire, il ne faut pas que ce soitCtrlSpacefaire wszystkiego/dużo. Vous êtes ici pour vous aider à comparer les prix, acheter et acheter des billets 2-lata.
J'ai rencontré le même problème, la réponse courte est oui, vous pouvez, et pas seulement dans la version gui. Ajouter ceci sur vous .vimrc
est suffisant:
inoremap <C-Space> <C-x><C-o>
inoremap <C-@> <C-Space>
Le problème semble être que Terminal.app n'interprète pas <C-Space>
correctement et que Vim le comprend en tant que <C-@>
qui est un mappage intégré (: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
ce qui semble fonctionner, ici, mais je n'aime pas l'idée de surcharger les éléments intégrés de cette manière.
Au lieu de cela, vous devriez essayer avec <Leader>
(:help leader
), cela vous donne d’énormes possibilités pour définir vos propres mappages personnalisés et (en fonction de la mapleader
que vous choisissez) n’interférera pas avec les raccourcis/limitations spécifiques au système d’exploitation/application et sera donc plus portable.
Avec cela dans mon .vimrc:
let mapleader=","
inoremap <leader>, <C-x><C-o>
Je viens d'appuyer sur ,,
pour compléter les noms de méthodes.
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 une noremap
, voici à quoi ça ressemble:
inoremap <expr><C-space> neocomplete#start_manual_complete()
imap <C-@> <C-Space>
Qu'est-ce que not work: 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
:inoremap <c-space> <c-x><c-o>
?omnifunc
?Pour prendre en charge Windows et Linux, j'ai appliqué ceci à ~/.vimrc
if has("unix")
inoremap <C-@> <c-x><c-o>
elseif has("win32")
inoremap <C-Space> <c-x><c-o>
endif
J'ai obtenu de meilleurs résultats avec cet ensemble de mappages dans tous les modes sur Mac OS. Je n'ai pas testé Windows ou Linux.
Je ne comprends pas comment la réponse exclue est supposée fonctionner en mode terminal.
inoremap <C-space> <ESC>
vnoremap <C-space> <ESC>
cnoremap <C-space> <C-c>
" When in terminal, <C-Space> gets interpreted as <C-@>
imap <C-@> <C-space>
vmap <C-@> <C-space>
cmap <C-@> <C-space>