Cygwin/Windows的最佳终端环境?

Cygwin/Windows的最佳终端环境?,windows,cygwin,rxvt,Windows,Cygwin,Rxvt,今天,我使用rxvt运行Cygwin,使用以下启动行: rxvt-bg黑色-sl 8192-fg白色-sr-g 150x56-fn“Fixedsys”-e/usr/bin/bash-登录-i 这给了我一个可调整大小的本机Windows窗口,它比默认的cygwin.bat提供的标准“DOS框”要好得多 但是,当前配置确实存在两个问题: 我无法在终端窗口中输入非ASCII字符(即我半频繁使用的æ、ø、å和Æ、Ø、Å)。事实上,当我将它们粘贴到窗口中时,终端甚至不会接受它们。如果我粘贴一个类似“b

今天,我使用
rxvt
运行Cygwin,使用以下启动行:


rxvt-bg黑色-sl 8192-fg白色-sr-g 150x56-fn“Fixedsys”-e/usr/bin/bash-登录-i

这给了我一个可调整大小的本机Windows窗口,它比默认的
cygwin.bat
提供的标准“DOS框”要好得多

但是,当前配置确实存在两个问题:

  • 我无法在终端窗口中输入非ASCII字符(即我半频繁使用的æ、ø、å和Æ、Ø、Å)。事实上,当我将它们粘贴到窗口中时,终端甚至不会接受它们。如果我粘贴一个类似“bølle”(挪威语表示“bulley”)的字符串,我得到的只是“blle”
  • 我无法呈现UTF-8字符,它们仅显示为?,即使字体支持它们(即,在ISO-8859-1中呈现相同字符时,它们显示得很好)
  • 我运行的是英语Windows Vista,语言环境和键盘布局设置为挪威语(ISO-8859-1字符集?),但我在Windows 2000和XP上遇到了完全相同的问题

    有人知道如何解决这个问题(即更好地配置rxvt)

    除了上面提到的问题外,我对
    rxvt
    非常满意,因此如果我找到了解决问题的方法,我希望继续使用它。但是,如果问题(不容易)解决,Cygwin还有其他好的终端解决方案吗

    更新

    Andy和Mattias提供的解决方案(编辑
    .inputrc
    文件)确实解决了输入问题,但输出渲染仍然是一个问题。当我在ISO-8859-1中渲染时,输出是正常的,但当使用UTF-8时,我只得到非ASCII字符的?值。这种行为在
    rxvt
    urxvt
    (在Cygwin XFree X服务器下),
    mintty
    和PuttyGy


    是否有类似的配置文件可用于设置输出编码(即,相当于在Linux系统上设置输出区域设置)?

    我目前正在使用PuTTYG()。我不确定它是否包含您需要的修复程序,但它还有其他一些很酷的功能,例如存储到典型putty配置文件中的配置,可以像putty-load mycygwin1这样调用。此类配置文件可以配置以下内容:

    • 将会话记录到文件
    • 删除键、主键和其他键的字符序列
    • 窗口颜色和字体

    编辑:可以输入您提到的字符。还提供UTF-8支持(必须在配置中打开).

    与emg-2类似,Lifehacker最近发表了一篇文章,内容是关于,不确定它是否包含您所需的修复程序。

    minTTY也很好。您可以在cygwin的设置中找到它。支持重新调整大小、粘贴和透明度。

    如果您只满足于运行cygwin应用程序,那么rxvt应该可以正常工作。rxvt应该有UTF-8支持。您是否尝试通过谷歌搜索解决方案

    如果您还需要运行本机Windows应用程序,除非您在Windows控制台中运行bash,否则您的运气就不好了。我认为有两个问题无法解决:

    • Ctrl-C无法正常工作。如果从rxvt(或xterm)内部运行本机windows应用程序,按Ctrl-C将返回提示,但不会中断程序,通常会将其留在后台运行
    • 终端输出缓冲不起作用。本地windows应用程序的输出不会在打印时显示,而是在某些内部缓冲区已满时显示

    这两个问题与我尝试过的所有终端仿真器(rxvt、xterm、Emacs和其他一些)相同le~/.inputrc

    set convert-meta off
    set output-meta on
    
    应在rxvt和mintty中工作。更多信息:


    我一直在使用它,它与Cygwin(以及PowerShell和普通的旧cmd.exe)配合得很好。

    当我在Windows上开发时,我发现它是Cygwin的一个不错的选择。

    我也在使用它。Console允许您自定义字体、背景等,并且还有一个选项卡式界面(如果一次使用多个终端窗口,则非常好)

    为了能够使用非ASCII字符,我在主目录的.inputrc文件中添加了以下内容:

    set meta-flag on
    set convert-meta off
    set output-meta on
    set completion-ignore-case on
    

    带xterm的标准Cygwin/X对我来说已经足够好了。安装Cygwin X.org包,然后运行脚本
    C:\Cygwin\bin\startxwin.bat
    (假设默认安装路径)。它将启动X,然后启动xterm

    我使用以下选项更新了我的
    .Xdefaults
    ,以提高可用性:

    *VT100*scrollbar.width:         14
    *VT100*scrollbar.background:    gray60
    *VT100*scrollbar.foreground:    rgb:a/5/5
    *VT100*scrollbar.borderWidth:   0
    *VT100*scrollbar.displayList:\
    foreground      gray90;\
    lines           1,-1,-1,-1,-1,1;\
    foreground      gray60;\
    lines           -1,1,1,1,1,-1
    *VT100*rightScrollBar: true
    *VT100*scrollBar: true
    *VT100*scrollLines: 1000
    xterm*toolBar: false
    

    如果将ls与某些参数一起使用,则显示文件名OK 我建议您在/etc/profile中添加ls别名:

    alias ls='ls-F--color=auto--show control chars'


    在WinXP上的msys中对我有效。

    您可能需要设置代码页

    检查您当前的:

    $ set | grep CYGWIN
    CYGWIN='codepage:oem nodosfilewarning'
    
    如果没有代码页,请添加到~/.bashrc文件:

    CYGWIN='codepage:oem nodosfilewarning'
    
    我的Cygwin批处理(Cygwin.bat)文件由快捷方式启动,其内容如下:

    start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
    
    请注意,对于CYGWIN环境变量,可以有多个项,每个项用空格分隔。可以使用的其他项:{tty binmode title}

    更多信息可在此处阅读:

    相关说明:您也可以将mrxvt用于Cygwin。它需要一个X服务器,一个很好的可靠/轻量级解决方案是使用Xming。我编译了mrxvt并安装了它——这并不难做到,而且效果很好

    我使用rxvt作为初始窗口,然后使用alias命令将mrxvt作为与rxvt分离的进程启动,然后关闭rxvt
    start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
    
    alias mrx='export DISPLAY="127.0.0.1:0.0"; $(/usr/local/bin/mrxvt &); echo -e "\033c"'
    
    @echo off
    start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
    start C:\Xming\Xming.exe :0 -clipboard -multiwindow -trayicon
    exit
    
    set convert-meta off set output-meta on set input-meta on URxvt.font: xft:Lucida Console:size=8:style=normal:weight=50:antialias=true:hinting=true:minspace=true URxvt.boldFont: xft:Lucida Console:size=8:style=bold:weight=100:antialias=true:hinting=true:minspace=true URxvt*termName: xterm