Как я могу измениться, привязка клавиш раньше автоматически заполняла в энергии?

Я не большой поклонник Ctrl-n, Я хотел бы иметь возможность использовать Ctrl-Space. Какие-либо идеи, как я могу сделать это?

37
задан Geo 15 February 2010 в 21:21
поделиться

3 ответа

if has("gui_running")
    " C-Space seems to work under gVim on both Linux and win32
    inoremap <C-Space> <C-n>
else " no gui
  if has("unix")
    inoremap <Nul> <C-n>
  else
  " I have no idea of the name of Ctrl-Space elsewhere
  endif
endif
34
ответ дан 27 November 2019 в 04:44
поделиться

Мне также нравится сопоставление Ctrl + Space.

" Remap code completion to Ctrl+Space {{{2
inoremap <Nul> <C-x><C-o> 

В вашем случае вы хотите:

inoremap <Nul> <C-n>
19
ответ дан 27 November 2019 в 04:44
поделиться

Если вы хотите сопоставить его, скажем, с Ctrl-E, это будет примерно так:

inoremap <C-E> <C-N>

Проблема с Ctrl - Пробел заключается в том, что большинство терминалов просто увидит это как пространство. Я предполагаю, что вы используете какую-то терминальную программу внутри X; если вы используете что-то другое, вам придется самостоятельно предоставить соответствующие замены.

В строке чтения Bash обычно отображается Ctrl - V , чтобы «обрабатывать следующий ключ как буквальный». Поэтому нажатие Ctrl - V , затем Home в командной строке bash вставит ^ [[H или что-то в этом роде в командной строке, вместо перехода к начало строки. Попробуйте нажать Ctrl - V , затем Ctrl - Пробел . Возможно, вы просто увидите пространство.

В этом случае вам придется обмануть xmodmap или написать свои собственные файлы / usr / share / X11 / xkb / *, чтобы указать X выводить что-то другое при нажатии Ctrl - ] Космос . Программам вроде Firefox все равно; они определяют, какая базовая клавиша нажата, и сами выясняют, какие модификаторы нажимаются.Но большинство программ на базе терминала будут видеть просто Ctrl - Пробел как пробел, если вы не укажете X, чтобы он обрабатывал пробел и Ctrl - Пробел по-другому.

Я сомневаюсь, что вы сможете внести это изменение только с помощью xmodmap; вам, вероятно, понадобится взломать / usr / share / X11 / xkb / * на нижнем уровне. Это сложно, и я даже не знаю, используете ли вы X в первую очередь, поэтому я просто оставлю это здесь.

Некоторые терминалы, такие как urxvt, позволяют указывать собственные сочетания клавиш. Как и Firefox, они могут определить, когда это пространство, а когда - Control-Space, даже без каких-либо специальных действий для настройки X. Таким образом, вы можете указать urxvt на вывод «\ 033I_TYPED_CONTROL_SPACE_DAMMIT» при нажатии Ctrl - Космос . А затем вы можете указать vim сопоставить , что с .

РЕДАКТИРОВАТЬ: Я забыл, что Ctrl-пробел использовался для вывода \ 0 (я переназначил это где-то еще на моей клавиатуре). В этом случае вся сложность, которую я описал выше, не нужна. То, что я сказал, применимо к тем, кто хочет использовать более экзотическое сопоставление, например Ctrl -долгие или Alt - Пробел .

9
ответ дан 27 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: