我有这个 XTerm 文件:
XTerm*Background: black
XTerm*Foreground: white
XTerm*SaveLines: 2000
XTerm*faceName: "Font Awesome 5 Brands-Regular-400"
XTerm*faceSize: 8
XTerm*rightScrollBar: true
XTerm*ScrollBar: true
XTerm*scrollTtyOutput: true
XTerm*VT100.Translations: #override \
Ctrl<Key>V: insert-selection(CLIPBOARD) \n\
Ctrl<Key>V: insert-selection(PRIMARY) \n\
Shift<Btn1Down>: select-start() \n\
Shift<Btn1Motion>: select-extend() \n\
Shift<Btn1Up>: select-end(CLIPBOARD) \n\
Ctrl <Key>C: copy-selection(CLIPBOARD) \n
Ctrl <Key>V: insert-selection(CLIPBOARD)
在 FreeBSD 11.2、i3 4.15 和 X.Org 1.18.4 下,我发现使用Ctrl+C不会将选定的文本从 XTerm 复制到剪贴板,尽管Ctrl+V会粘贴文本。其他应用程序将文本复制到剪贴板没有问题。是否有一些技巧可以让它在 FreeBSD 下工作,而在 Linux 下则不需要(因为在 Linux 下使用Ctrl+C复制这个 XTerm 文件就可以了)?
答案1
问题出在示例.Xdefaults
文件中:
- 选择/粘贴显示原始文件有尾随空白(这会干扰格式化为单独的行/单独的操作)
- 无论如何,缺少一个反斜杠。
- 开头的“#”是一条注释,一直延伸到该行的末尾。一次失踪
\n\
使得第一个实例被controlV忽略。
我的文本编辑器(vi 喜欢 emacs)使用语法突出显示向我展示了问题。实际上(仔细检查),维姆并没有突出问题。但是你可以通过打开列表选项:
XTerm*Background: black^J
XTerm*Foreground: white^J
XTerm*SaveLines: 2000^J
XTerm*faceName: "Font Awesome 5 Brands-Regular-400"^J
XTerm*faceSize: 8^J
XTerm*rightScrollBar: true^J
XTerm*ScrollBar: true^J
XTerm*scrollTtyOutput: true^J
XTerm*VT100.Translations: #override \^J
Ctrl<Key>V: insert-selection(CLIPBOARD) \n\ ^J
Ctrl<Key>V: insert-selection(PRIMARY) \n\ ^J
Shift<Btn1Down>: select-start() \n\ ^J
Shift<Btn1Motion>: select-extend() \n\ ^J
Shift<Btn1Up>: select-end(CLIPBOARD) \n\^J
Ctrl <Key>C: copy-selection(CLIPBOARD) \n^J
Ctrl <Key>V: insert-selection(CLIPBOARD)^J
语法突出显示\n\
通过指出资源中的异常情况来帮助解决缺失等问题。普通 vi 对此没有帮助。
修复后:
XTerm*Background: black^J
XTerm*Foreground: white^J
XTerm*SaveLines: 2000^J
XTerm*faceName: "Font Awesome 5 Brands-Regular-400"^J
XTerm*faceSize: 8^J
XTerm*rightScrollBar: true^J
XTerm*ScrollBar: true^J
XTerm*scrollTtyOutput: true^J
XTerm*VT100.Translations: #override \n\^J
Ctrl<Key>V: insert-selection(CLIPBOARD) \n\^J
Ctrl<Key>V: insert-selection(PRIMARY) \n\^J
Shift<Btn1Down>: select-start() \n\^J
Shift<Btn1Motion>: select-extend() \n\^J
Shift<Btn1Up>: select-end(CLIPBOARD) \n\^J
Ctrl <Key>C: copy-selection(CLIPBOARD) \n\^J
Ctrl <Key>V: insert-selection(SELECT)^J
这是(再次选择/粘贴)适合我的文本:
XTerm*Background: black
XTerm*Foreground: white
XTerm*SaveLines: 2000
XTerm*faceName: "Font Awesome 5 Brands-Regular-400"
XTerm*faceSize: 8
XTerm*rightScrollBar: true
XTerm*ScrollBar: true
XTerm*scrollTtyOutput: true
XTerm*VT100.Translations: #override \n\
Ctrl<Key>V: insert-selection(CLIPBOARD) \n\
Ctrl<Key>V: insert-selection(PRIMARY) \n\
Shift<Btn1Down>: select-start() \n\
Shift<Btn1Motion>: select-extend() \n\
Shift<Btn1Up>: select-end(CLIPBOARD) \n\
Ctrl <Key>C: copy-selection(CLIPBOARD) \n\
Ctrl <Key>V: insert-selection(SELECT)