Отображения клавиш Vim / GVim - PullRequest
0 голосов
/ 12 июля 2011

Я использую Vim исключительно в течение нескольких недель, и некоторые вещи мешают мне быть очень взволнованными моим опытом до сих пор.Например, у меня возникают проблемы с отображением нескольких последовательностей клавиш в команды.

Я бы хотел отобразить Ctrl + Shift + Z на :redo<CR> или поочередно <C-R>, но, по-видимому, Vim не может распознать разницу между сдвинутыми и несмещенными последовательностями управляющих клавиш:

Ctrl-b и Ctrl-B являются синонимами, они оба означают 0x02.Это нельзя изменить, оно восходит к ASCII, которое восходит к 7-луночной бумажной ленте (не считая четности).

Это просто кажется мне глупым.Мы прошли долгий путь с 7-луночной бумажной лентой, и по моему опыту программы MANY распознают разницу между <C-S-Z> и <C-Z>.Действительно, MacVim даже признает разницу!Но нет радости в GVim или в терминале GNOME.Это можно обойти?Может быть плагин или даже какой-то вариант времени компиляции?

Другая ключевая комбинация, с которой у меня возникают проблемы, это Ctrl + , (control + запятая).Я не уверен, что в моем .vimrc что-то неправильно настроено, или это реальная проблема с Vim, но я не могу получить <C-,>, чтобы ответить после сопоставления (например: map <C-,> :TComment<CR>).FWIW, мой ключ лидера переназначен на ;.Я делаю это неправильно?Или есть какая-то другая причина, по которой Vim не распознает комбинацию клавиш <C-,>?

Я потратил слишком много времени, пытаясь найти и сопоставить сопоставления клавиш, и я нахожусь на грани того, чтобы заявить, чтоVim не так гибок, как мне показалось ... Я даже не могу настроить его с помощью сопоставлений клавиш, к которым я привык, некоторые из которых я неохотно переучиваю / не изучаю, так как они работают в других программахчто я использую ежедневно.

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Похоже, что ссылка, которую вы разместили, уже отвечает на ваш вопрос относительно <C-b> против <C-B>.Согласно FAQ , похоже, вам тоже не повезло с <C-,>, поскольку эта комбинация клавиш отсутствует в списке аккордов Ctrl-printable-key, которые Vim может обнаружить (возможно, потому что этодаже не для печати ASCII-аккорда?).

Комбинации клавиш, такие как <C-S-w>, очень не-Vim-подобные в том, что они подрывают эффективность модального редактора.Конечно, бывают случаи, когда необходимы <CTRL> -экранированные комбинации (например, в отображениях режима вставки, таких как <C-x> - <C-o> для omnicompletion), но это не относится к таким операциям, как отмена и повтор.

Мне жаль, что этот ответ вас не удовлетворит, но в долгосрочной перспективе многое можно выиграть, если вы "сделаете это способом Vim", а не попытаетесь склонить Vim к своей воле.

0 голосов
/ 12 июля 2011

Попробуйте добавить set nocompatable к вашему vimrc.без этого вы в основном работаете с vi, который гораздо более ограничен, чем vim.Это должно позволить вам отобразить <C-S-r> или <F11> или все, что вы хотите.Тьямсон совершенно прав.гораздо лучше использовать сопоставления по умолчанию там, где они существуют.

...