更少的 Markdown 语法着色(寻呼机)
Markdown syntax coloring for less (pager)
当我使用 vim 编辑 markdown 文件时,我有很好的语法着色(通过 vim-markdown 和 vim-markdown-preview 插件)。
当我使用 less(寻呼机)查看文件时,我希望使用相同的语法着色。有没有办法减少这种语法着色?或者是否有其他具有此功能的寻呼机?
less
本身不支持语法高亮显示,但您可以使用 GNU-source-highlight
支持。
首先,您需要安装它。例如,在 RHEL/Centos/Fedora 上(作为 root):
$ yum install source-highlight
在 Debian/Ubuntu
$ apt-get install source-highlight
然后配置寻呼机以使用它:
$ export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
$ export LESS=" -R"
现在,它应该只替换 less
:
$ less README.md # pager with syntax highlighting
您可以使用 e2ansi,一个以批处理模式使用 Emacs 来执行语法突出显示的包。您可以通过定义 LESSOPEN 环境变量来配置 less
以使用它。
要使 Emacs 语法高亮 MarkDown,您还需要安装 markdown-mode。
(最后,要在 less
中获得与编辑器中相同的语法高亮显示,我想您必须切换到 Emacs ;)当然,鉴于 Emacs 带有 Vim 兼容包叫做 Evil Mode,它可能没有看起来那么糟糕。)
使用 Vim Markdown highlighting (and folding) 和 运行,最直接的解决方案是在只读模式下使用 vim -R
或(至少在 Ubuntu) 更优雅:
$ view filename.md
在 .vimrc
文件的最底部添加以下内容,view
的行为将与 less
一样,并具有您最喜欢的语法高亮显示的额外好处(不仅用于 markdown !) 和折叠:
" less behaviour for view
"
" http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager
function! LessBehaviour()
if (!&modifiable || &ro)
set nonumber
set nospell
set laststatus=0 " Status line
set cmdheight=1
set guioptions=aiMr " No menu bar, nor tool bar
noremap u <C-u>
noremap d <C-d>
noremap q :q<CR>
endif
endfunction
" https://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
au!
au VimEnter * :call LessBehaviour()
augroup END
还有一个更严格的less.sh
脚本。在我的系统上,它与 vim
一起打包。要找到它,请使用:
$ find /usr/share/vim -name less.sh
但是,与上面列出的脚本相反,折叠不适用于此 less.sh
。
这是一种使用 less
在控制台中查看 GitHub markdown 文件的方法。
安装 pandoc
和 lynx
。
一个。对于 Ubuntu(和 WSL):sudo apt install pandoc lynx
b。对于 MacOS:brew install pandoc lynx
将下面的脚本文件命名为less
并保存在PATH
的某处,例如/usr/local/bin
- 使脚本可执行,例如
chmod a+x /usr/local/bin/less
- 键入
hash -r
或 /usr/bin/less
将 运行 而不是此脚本
#!/bin/bash
if [ "${1##*.}" == md ]; then
pandoc "" | lynx -stdin
else
/usr/bin/less ""
fi
当我使用 vim 编辑 markdown 文件时,我有很好的语法着色(通过 vim-markdown 和 vim-markdown-preview 插件)。
当我使用 less(寻呼机)查看文件时,我希望使用相同的语法着色。有没有办法减少这种语法着色?或者是否有其他具有此功能的寻呼机?
less
本身不支持语法高亮显示,但您可以使用 GNU-source-highlight
支持。
首先,您需要安装它。例如,在 RHEL/Centos/Fedora 上(作为 root):
$ yum install source-highlight
在 Debian/Ubuntu
$ apt-get install source-highlight
然后配置寻呼机以使用它:
$ export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
$ export LESS=" -R"
现在,它应该只替换 less
:
$ less README.md # pager with syntax highlighting
您可以使用 e2ansi,一个以批处理模式使用 Emacs 来执行语法突出显示的包。您可以通过定义 LESSOPEN 环境变量来配置 less
以使用它。
要使 Emacs 语法高亮 MarkDown,您还需要安装 markdown-mode。
(最后,要在 less
中获得与编辑器中相同的语法高亮显示,我想您必须切换到 Emacs ;)当然,鉴于 Emacs 带有 Vim 兼容包叫做 Evil Mode,它可能没有看起来那么糟糕。)
使用 Vim Markdown highlighting (and folding) 和 运行,最直接的解决方案是在只读模式下使用 vim -R
或(至少在 Ubuntu) 更优雅:
$ view filename.md
在 .vimrc
文件的最底部添加以下内容,view
的行为将与 less
一样,并具有您最喜欢的语法高亮显示的额外好处(不仅用于 markdown !) 和折叠:
" less behaviour for view
"
" http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager
function! LessBehaviour()
if (!&modifiable || &ro)
set nonumber
set nospell
set laststatus=0 " Status line
set cmdheight=1
set guioptions=aiMr " No menu bar, nor tool bar
noremap u <C-u>
noremap d <C-d>
noremap q :q<CR>
endif
endfunction
" https://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
au!
au VimEnter * :call LessBehaviour()
augroup END
还有一个更严格的less.sh
脚本。在我的系统上,它与 vim
一起打包。要找到它,请使用:
$ find /usr/share/vim -name less.sh
但是,与上面列出的脚本相反,折叠不适用于此 less.sh
。
这是一种使用 less
在控制台中查看 GitHub markdown 文件的方法。
安装
pandoc
和lynx
。一个。对于 Ubuntu(和 WSL):
sudo apt install pandoc lynx
b。对于 MacOS:
brew install pandoc lynx
将下面的脚本文件命名为
less
并保存在PATH
的某处,例如/usr/local/bin
- 使脚本可执行,例如
chmod a+x /usr/local/bin/less
- 键入
hash -r
或/usr/bin/less
将 运行 而不是此脚本
#!/bin/bash
if [ "${1##*.}" == md ]; then
pandoc "" | lynx -stdin
else
/usr/bin/less ""
fi