在 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: [email protected] Web: http://www.nano-editor.org/
Compiled options: --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8
我正在使用 Cygwin 附带的 nano 二进制文件,并在其中运行 bash 作为我的 shell安慰在 Windows 7 Professional 64 位上。
额外的信息:
- 我曾尝试在同一个 shell 中使用 emacs 和 vi,它们都运行良好。
- 当我使用箭头键或删除键时会发生这种情况。退格键可以正常工作。
- 我曾尝试使用 Cygwin 安装程序降级到 nano 版本 2.0.9,但问题仍然存在。
答案1
我第一次安装 Cygwin 后也遇到了同样的问题。多个终端仿真器中都存在同样的问题。我不知道为什么从源代码编译 nano 或使用 Cygwin 的包管理器时会发生这种情况 - 但是get-nano.org 上的 WinNT 二进制文件似乎(几乎)没有问题。
我下载了它并把它放在 Cygwin 的bin
文件夹中。滚动问题已修复,但我又遇到了另一个问题。每当我尝试编辑一个文件时不是相对于我当前的工作目录(例如./folder/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())
这是一个非常草率的解决方案,但它确实有效。
答案2
它与 nano 无关。很可能是您的 telnet 或终端程序或键盘驱动程序或网络套接字缓冲数据