我知道如何编写 .Xresources 文件来修改 xterm 的外观。但是,我想知道是否可以拥有特定于应用程序的 .Xresources,这样当我使用 mutt (xterm -e mutt) 时,我可以使用浅色日光主题,深色日光主题用于(例如)使用终端进行命令线路活动,第三个主题也许是其他事情。抱歉,如果这是一个微不足道的问题,但至少我找不到答案。
我刚刚在~/.Xresources
. 当我想开始使用 UXTerm 时,我注意到一些键盘快捷键在 Shift + 上,这完全是一个障碍。
我使用Neo2作为我的主要键盘布局。所有系统快捷方式都需要这种布局,即使是磁盘加密密码提示。不过,我不确定这是否相关。
我确定了快捷键 Shift+X、Shift+Q、Shift+W 和 Shift+-。Shift+Q 增加字体大小,Shift+- 减小它。我不确定其他人在做什么,但我无法输入大写的 W 和 X。
有没有办法重新绑定或禁用这些快捷方式?
我的配置是:
*background: #eeeeee
*color0: #4c4c4b
*color1: #af0000
*color2: #008700
*color3: #5f8700
*color4: #0087af
*color5: #878787
*color6: #005f87
*color7: #444444
*color8: #bcbcbc
*color9: #d70000
*color10: #d70087
*color11: #8700af
*color12: #d75f00
*color13: #d75f00
*color14: #005faf
*color15: #005f87
! *colorBD: #FF0000
*colorBDMode: false
! *colorUL: Black
*colorULMode: false
*cursorColor: Black
*foreground: Black
*renderFont: True
*faceName: Hack
*faceSize: 12
我在带有 Ubuntu 的 WSL2 上使用 bash,我希望 Crtl-i 和 TAB 发送不同的键码,这样我就可以在 emacs 上重新映射 Ctrl-i,同时仍然使用 TAB 进行缩进。我尝试按照this question.Xresources
中的答案进行操作,该答案建议通过编辑文件然后运行来重新映射Ctrl-i xrdb ~/.Xresources
。我的.Xresources
文件中有这个
XTerm*metaSendsEscape: true
XTerm*eightBitInput: false
Xterm*Translations: #override\
Ctrl ~Meta ~Shift <Key>i :string("\033[105;5u")
除了打电话xrdb .Xresources
给我这个信息
xrdb: Connection refused
xrdb: Can't open display 'localhost:0.0'
这似乎是因为 WSL 是一个纯文本编辑器,而我对文件的更改没有产生效果。我echo $TERM
在 bash 上运行以确保它正在使用 xterm 并且它返回了xterm-256color
,所以这似乎是正确的。
有没有办法让 WSL 使用.Xresources
或任何其他方式来区分 WSL 中的 Ctrl-i 和 TAB?
我正在尝试进行经典的绑定键序列以进行复制和粘贴的尝试。在这种情况下,它是 xterm 并且我有我的键盘,这样(我相信)我想要 Super-C 复制和 Super-V 粘贴(是的。我在我的 xmodmap 中定义了一个 Super 键)。
我看到不同的例子做不同的任务,有些有<Key>
,有些有<KeyPress>
——当然<KeyRelease>
。我想知道他们之间有什么区别。
更一般地说,我想知道“翻译”资源的语法。我记得,它用途广泛,可以有状态等。我在大战期间就知道这一点(vi .vs. emacs),但现在我已经忘记了。
更新:
通过一些实验,我相信以下解决了让复制和粘贴工作的原始任务,但不是这个问题的主要目标。我仍然非常想知道资源的<Key>
和<KeyPress>
与一般语法之间的区别translations
*VT100*translations: #override \n\
Super <Key>C: copy-selection(CLIPBOARD) \n\
Super <Key>V: insert-selection(CLIPBOARD)
在xterm
,我想将默认字体大小增加到font5/Font5/"Large"
默认VTFont的选项。到目前为止,我已经设法通过控制菜单用鼠标手动执行此操作,这非常棒,但每当我打开一个新的 xterm 窗口时,它就会成为一个相当大的负担。因此,我想通过在我的.Xresources
文件中将其设置为我的默认值来实现相同的目的,以便每个新的 xterm 窗口默认以“大”字体大小打开,而不是使用控制菜单。
阅读手册页并在网上做一些进一步的研究,我尝试了,在不同的尝试中:xterm*font: font5
,xterm*font: *-fixed-*-*-*-18-*
并xterm*faceSize: 12.0
获得类似的结果。虽然第一次尝试根本不起作用,但在后两次中,与我通过控制菜单选项可以实现的相比,字体确实增加了,但相当模糊。果然,一定有办法!
- 如何找到 XTerm 使用的默认(字体)资源?
- https://www.linuxquestions.org/questions/debian-26/how-to-increase-font-size-of-xterm-776352/
- https://askubuntu.com/questions/161652/how-to-change-the-default-font-size-of-xterm
- https://invisible-island.net/xterm/xterm.faq.html#how2_fsize
- 配置不可读的、微小的、小的、...、巨大的 Xterm 字体
编辑:我找到了第二种增加、减少和重置默认 VTFont 大小的方法Ctrl+plus
// Ctrl+minus
:Ctrl+0
xterm*VT100.Translations: #override \
Ctrl <Key> minus: smaller-vt-font() \n\
Ctrl <Key> plus: larger-vt-font() \n\
Ctrl <Key> 0: set-vt-font(d)
但是,每次打开新的 xterm 窗口时,这种方法仍然需要手动处理。搜索继续。. .
这个问题与Unable to configure font in XTerm有关,但是,我无法让它工作。
当我启动 xterm 时,我希望能够默认为我启用 Huge 字体。
我的 .Xresources 中有以下内容:
XTerm*renderFont: true
XTerm*faceName: MiscFixed:style=Huge
XTerm*faceSize: 10
XTerm*faceLabel: Huge
紧随其后,xrdb -merge .Xresources
但未调用 Huge VT 选项,我仍处于默认设置。
这对让 xterm 拥有“巨大”字体没有任何作用。我也尝试了很多东西,例如XTerm*VTFonts: Huge
但无济于事。我该怎么做呢?
我一直在试验 xterm (v353) 中的 DECSTBM 转义序列。尽管通常可以工作,但我遇到了一个问题:
我会将滚动区域设置为比窗口高度少一行。当查看带有 less(或 man)的文件时,它会在滚动区域内打印行,但它会生成多行。向上滚动时,状态行会滑出滚动区域,并且通常滚动似乎会中断。
另一个例子是来自 readline (bash) 的“更多”完成提示,它会打印与窗口大小报告一样多的行,在我的例子中,将第一行滚动到屏幕外。
通过挖掘代码,我发现 less 似乎直接向系统询问窗口大小(使用 ioctl),因此绕过了环境变量 COLUMNS 或 LINES 给出的大小。有没有办法将可用滚动区域而不是窗口大小传达给查询终端大小的程序?