58

ネットで少し検索した後、何にもマップできないようですCtrlSpace。今日それを行う方法はありますか、私が見つけたのは通常2歳でした。

4

7 に答える 7

58

私は同じ問題に遭遇しました。短い答えは、GUIバージョンだけでなく、できるということです。これを追加する.vimrcだけで十分です:

inoremap <C-Space> <C-x><C-o>
inoremap <C-@> <C-Space>
于 2012-09-10T01:25:43.187 に答える
26

問題は、Terminal.app が<C-Space>正しく解釈されず、Vim<C-@>が組み込みのマッピング ( :help CTRL-@) であると認識していることです。

おそらく、.vimrc で次のようなものを使用できます。

if !has("gui_running")
    inoremap <C-@> <C-x><C-o>
endif

ここではうまくいくようですが、そのような組み込みをオーバーライドするという考えは好きではありません。

代わりに<Leader>( :help leader) を試す必要があります。独自のカスタム マッピングを定義する大きな可能性があり、(選択したものによってはmapleader) OS/アプリ固有のショートカット/制限に干渉しないため、移植性が高くなります。

これを私の.vimrcに入れます:

let mapleader=","
inoremap <leader>, <C-x><C-o>

,,メソッド名を完成させるためにヒットしました。

于 2011-10-11T12:07:57.097 に答える
6

ニッチピッカーは pablox ソリューションを壊しました。ソリューションの核心は、再マッピングに関するものでした。そのため、再マッピングを無効にすると機能しません。
本当に をスローしたい場合はnoremap、次のようになります。

inoremap <expr><C-space> neocomplete#start_manual_complete()
imap <C-@> <C-Space>

うまくいかないinoremap <C-@> <C-Space>こと:<C-Space>パーツ自体が再マッピングされないためです。

于 2014-07-03T10:08:09.280 に答える
3
  • 試しました:inoremap <c-space> <c-x><c-o>か?
  • CtrlX CtrlO挿入モードで入力すると何かしますか? omnifunc設定されていますか?
于 2011-10-11T06:46:34.023 に答える
3

次のコードを に追加します~/.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>

ソース: https://coderwall.com/p/cl6cpq

于 2014-08-29T21:27:02.710 に答える