1

При прокрутке (удерживая нажатой клавишу «вниз») в nano, курсор не перемещается, пока нажата клавиша, но когда я отпускаю клавишу, она переходит к тому месту, где она должна быть.

Как я могу заставить его двигаться, удерживая клавишу?

Выход nano -V составляет:

GNU nano version 2.2.5 (compiled 21:04:20, Nov  3 2010)
(C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009 Free Software Foundation, Inc.
Email: nano@nano-editor.org    Web: http://www.nano-editor.org/
Compiled options: --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8

Я использую двоичный файл nano, поставляемый с Cygwin, и использую bash в качестве оболочки в консоли на Windows 7 Professional 64bit.

Дополнительная информация:

  • Я попытался использовать emacs и vi в одной оболочке, и они оба работают нормально.
  • Это происходит, когда я использую клавиши со стрелками или клавишу удаления. Клавиша возврата работает правильно.
  • Я попытался перейти на версию nano 2.0.9 с помощью установщика Cygwin, но проблема продолжала возникать.

2 ответа2

1

У меня была такая же проблема после того, как я впервые установил Cygwin. Проблемы сохранялись в нескольких терминальных эмуляторах. Я понятия не имею, почему это происходит при компиляции nano из исходного кода или с помощью менеджера пакетов Cygwin - однако бинарный файл WinNT на get-nano.org казался (почти) без проблем.

Я загрузил его и поместил в папку bin Cygwin. Проблема с прокруткой была исправлена, однако я столкнулся с другой проблемой. Всякий раз, когда я пытался отредактировать файл, который не был связан с моим текущим рабочим каталогом (например, /./folder/asdf /asdf vs ~/.bashrc , /home/username/.bashrc т.д.), Я получал сообщение о том, что файл невозможно найти.

Я добавил этот псевдоним в мой файл ~/.bashrc : alias nano="~/bin/nano"

с содержимым: /usr/bin/nano $(~/bin/getpath $1)

getpath - это скрипт на python, который я написал ранее для решения аналогичной проблемы в другой программе, он содержит следующее:

#!/usr/bin/env python

import sys, getpass

try:
    arg = sys.argv[1]
except:
    exit()

if arg[:1] != '/':
    print arg

if arg[:1] == '/' or arg[:1] == '~':
    print '/cygdrive/c/cygwin64' + arg.replace('~', '/home/' + getpass.getuser())

Это очень небрежное решение, но оно работает.

-1

Это не связано с нано. Скорее всего, ваша telnet или терминальная программа, драйвер клавиатуры или сетевой сокет буферизуют данные

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .