Использование цифровой клавиатуры в Vi (Vim) через PuTTY

121

Цифровая клавиатура не работает должным образом при использовании Vim через PuTTY. Вместо цифр я получаю

y
x
w
v
u
t
s
r
q
Pykler
источник

Ответы:

192

Ответ находится в Numpad в PuTTY при использовании vi [Cialug] :

В конфигурации зайдите в Терминал-> Функции и отметьте «Отключить режим клавиатуры приложения». Сохраните настройки и наслаждайтесь работающей цифровой клавиатурой!

Pykler
источник
24
Спустя 5 лет это была единственная вещь в Putty, которая раньше чертовски раздражала меня
Джон Магнолия
5
Я также хотел бы знать, почему он не включен по умолчанию. Это мешает использованию цифровой клавиатуры в любом другом приложении? the.earth.li/~sgtatham/putty/0.60/htmldoc/… Кстати, отключение режима клавиатуры приложения также исправляет, что "," вводится в bash, когда вы нажимаете цифровую клавиатуру "+".
user323094 08
2
Думал, что добавлю это простое решение для сопоставления клавиш ( twitpic.com/97qyww ) для пользователей iTerm.
Энди Барбур
11
В приложении Mac Terminal попробуйте «Настройки» -> «Профили» -> «Дополнительно» -> снимите флажок «Разрешить режим клавиатуры приложения VT100»
HaPsantran
7
Кто-нибудь знает, почему существует эта функция / ошибка? Есть ли ссылка на какую-нибудь историческую справку по этому поводу? Спасибо :)
Атколд
16

Я всегда использовал этот набор сопоставлений, чтобы интерпретировать escape-последовательности как числа, когда $TERM=xterm

imap <Esc>Oq 1
imap <Esc>Or 2
imap <Esc>Os 3
imap <Esc>Ot 4
imap <Esc>Ou 5
imap <Esc>Ov 6
imap <Esc>Ow 7
imap <Esc>Ox 8
imap <Esc>Oy 9
imap <Esc>Op 0
imap <Esc>On .
imap <Esc>OR *
imap <Esc>OQ /
imap <Esc>Ol +
imap <Esc>OS -

Думаю, это был мой первоисточник.

Майкл Берковски
источник
1
Да, ваша ссылка имеет то же решение, что и моя, а именно отключение режима клавиатуры приложения в замазке, переназначение vim работает, но, согласно вашей ссылке, это не нужно
Pykler 02
@Pykler Мне часто приходится использовать PuTTY с машин, которые мне не принадлежат, и на моем обычном компьютере есть дюжина сохраненных сессий. Сопоставление vimrc избавляет меня от необходимости постоянно изменять настройки при создании нового сеанса или работе с незнакомой машины.
Майкл Берковски
Как решить настройку vim на всех машинах, к которым вы подключены по ssh? Может быть, это сам по себе вопрос, но я обнаружил, что мои vimrc и zshrc быстро рассинхронизируются. Кроме того, я нечасто использую окна / шпатлевку, пока что работает одна машина :)
Pykler 02
@Pykler Обычно я выполняю синхронизацию своих конфигураций vim только один раз. Меня не волнует, рассинхронизируются ли они, за исключением одной или двух важных машин для разработки, но я действительно забочусь о базовой конфигурации, включающей эту и несколько других настроек.
Майкл Берковски
Я использую Vim с Putty с более чем 30 студентами каждый год, поэтому мне кажется, что легче изменить файл vimrc, чем предлагать студентам изменить свои настройки. Так что для меня это полезное решение.
Арпад Хорват
15

А для Mac ответ находится в комментарии HaPsantran на этой же странице, и в этом ответе есть аналогичный ответ nfechner со скриншотами на немецком языке .

Для Mac перейдите в приложение « Терминал» . Выберите « Настройки» , « Профили» , « Дополнительно» и снимите флажок « Разрешить режим клавиатуры приложения VT100» .

введите описание изображения здесь

Kirby
источник
1
Это сводило меня с ума целую вечность. Спасибо, что указали на это!
Пол
5

Если вы используете SSH через терминал, вы можете просто перейти на

Edit -> Num Lock (third from bottom)

Слева от него должна быть галочка.

kavakava
источник
1
В каком контексте? Имеет ли это какое-либо отношение к PuTTY (о чем идет речь)? О каком приложении вы говорите? PuTTY не имеет меню «Правка». Где «Редактировать»? Какое приложение? На какой платформе? Например, приложение Ubuntu «Терминал» не имеет пункта меню с именем «Редактировать».
Питер Мортенсен
2

Предыдущие ответы Кирби , Михайло-Берковский , и pykler велики.

У меня была эта проблема в Vim на терминале macOS. Проверка ТерминалаНастройкиПрофилиКлавиатура показала, что «Очистить (клавиатура)» было сопоставлено с «Num Lock» . Нажатие кнопки очистки устранило проблему для меня.

Дейв
источник