我经常使用该命令pygmentize filename.py
来显示带有代码格式的彩色源文件。这很管用。我现在也想像它一样显示行号cat -n filename.py
。
我读了一遍,发现了一些建议,比如添加-O linenos=1
或-O linenos=True
。但这些似乎都不起作用。
有人知道我在命令行上查看源文件时如何显示行号吗?色素? 欢迎提供各种提示!
答案1
您可以使用如下方式添加行号perl
:
pygmentize file.py | perl -e 'print ++$i." $_" for <>'
更新(为上一个命令添加别名):
要创建别名,只需在某处定义以下 bash 函数~/.bashrc
:
pyg() {
pygmentize $1 | perl -e 'print ++$i." $_" for <>'
}
打开一个新终端并使用 调用命令pyg file.py
。
答案2
您是否尝试过将输出通过管道传输到nl --body-numbering=a
?对于大多数 shell 工具,您可以在 中找到更多信息man nl
。
答案3
使用带管道的 cat:
pygmentize filename.py | cat -n
Sylvain 的答案在某种程度上更好,因为它不会在每行开头生成额外的 cat 尾随空格。但有时你可能没有安装 pearl :)
也可以尝试:
pygmentize -g filename.py | cat -n | sed "s/^[ \t]*//"
它为您提供了行号和代码之间的适当空间。
答案4
我对接受的答案进行了一些格式调整以满足我的需要
ccatn() {
pygmentize -g -O full,style=monokai $1 | perl -e 'for(<>){print sprintf("%3s %s", ++$i,$_);}'
}
像使用它一样
ccatn helloworld.go