我想在cal命令的输出中突出显示今天的日期。什么是最好的方法?
这是我到目前为止:
cal -m | grep -C6 --color "$(date +%e)"
Run Code Online (Sandbox Code Playgroud)
但它不适用于所有情况,例如,当日期只有一位数时。我还希望突出显示在我显示一年的日历时起作用。
为了给我的手册页上色,我把来自 archlinux.org 的这段代码放到了 .bashrc 中:
man() {
env LESS_TERMCAP_mb=$'\E[01;31m' \
LESS_TERMCAP_md=$'\E[01;38;5;74m' \
LESS_TERMCAP_me=$'\E[0m' \
LESS_TERMCAP_se=$'\E[0m' \
LESS_TERMCAP_so=$'\E[38;5;246m' \
LESS_TERMCAP_ue=$'\E[0m' \
LESS_TERMCAP_us=$'\E[04;38;5;146m' \
man "$@"
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,除了当我使用 搜索时/,匹配项将颜色更改为更加模糊 - 与突出显示相反。我花了一些时间试图弄清楚这一点,但我无法真正理解它,所以如果我做任何事情,那只会是反复试验。最好请教专家。那么我怎样才能让搜索匹配成为,比如说,黄底黑字?
当您在 Linux 上运行 cal 时,当月的输出将反转视频突出显示当天。当我将该输出发送到 hexdump -c 时,我得到了一些有趣的结果:
0000000 N o v e m b e r 2 0 1 6
0000010 \n S u M o T u
0000020 W e T h F r S a \n
0000030 1 2 _ \b _ \b 3
0000040 4 5 \n 6 7
0000050 8 9 1 0 1 1 1 2 \n
0000060 1 3 1 4 1 5 1 6 1 7 1
0000070 8 1 9 \n …Run Code Online (Sandbox Code Playgroud) 我正在使用 macOS 和tmux 3.1c. 通过鼠标选择复制文本时,将文本复制到剪贴板后,突出显示将自动清除,这将使您在返回时难以跟踪复制的最后一行:
有没有办法防止/禁用复制后自动清除选择?我知道按Shift,然后选择文本,然后按Cmd+C将其复制到剪贴板,这会保留选择。但这是相对低效的工作流程。这与 Alacritty/iTerm 的行为相同。
在 iTerm 中,如果没有 tmux,选择文本会自动将其复制到剪贴板中,但选择不会自动清除。
cgit 安装中的语法突出显示选项无法正常工作,如果所有必要的参数都存在,我想看看它是否可以从命令行正常运行。
中的选项/etc/cgitrc设置正确。
source-filter=/usr/lib/cgit/filters/syntax-highlighting.sh
例如,当我在highlightbash 文件上运行命令时,css 和 span 类在输出中,但是当我在文件上运行 /usr/lib/cgit/filters/syntax-highlighting.sh 时,css 和 span 标签不会展示。
highlight脚本中的命令实际命令(最后一行)是
exec highlight --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
#!/bin/sh
# This script can be used to implement syntax highlighting in the cgit
# tree-view by refering to this file with the source-filter or repo.source-
# filter options in cgitrc.
#
# This script requires a shell supporting the ${var##pattern} syntax.
# It is supported by at least …Run Code Online (Sandbox Code Playgroud) 我想弄清楚为什么我在编辑我的 crontab 时没有语法高亮。
我有两个$EDITOR并$VISUAL设置为/usr/bin/vim:
> echo $EDITOR
/usr/bin/vim
> echo $VISUAL
/usr/bin/vim
Run Code Online (Sandbox Code Playgroud)
如果我将 crontab 保存到文件并使用 vim 语法突出显示进行编辑,则启用。
> crontab -l > saved_cronab
> /usr/bin/vim saved_crontab
Run Code Online (Sandbox Code Playgroud)
如果我:syntax on在编辑 crotab 时使用,则没有任何变化
使用 编辑 crontab 时如何启用突出显示crontab -e?
目前,我使用
egrep --color 'error|$'
Run Code Online (Sandbox Code Playgroud)
突出显示包含单词 error 的行中的每个单词:

我想突出显示整行,以便整个字符串显示为红色。
我怎样才能做到这一点?
伙计们,我想知道是否存在只突出显示输入文本的某些部分的命令,而不是像grep这样过滤它。
举个例子,假设以下输入文本:
foo bar
gaz das
xar
Run Code Online (Sandbox Code Playgroud)
grep "bar\|gaz" input将打印前两行,突出显示bar和gaz,但不会显示xar。
我知道我可以简单地为-C参数设置一个大常量,因此它会“始终”显示上下文,例如: grep -C1000 "bar\|gaz" input,但我不确定这是否有效,或者是否有更好的工具。