當我使用vim編輯降價文件時,我有很好的語法着色(通過vim-markdown和vim-markdown-preview插件)。Markdown syntax less(pager)
我想在使用less(pager)查看文件時使用相同的語法着色。有沒有辦法少做這種語法着色?或者是否有另一個具有此功能的傳呼機?
當我使用vim編輯降價文件時,我有很好的語法着色(通過vim-markdown和vim-markdown-preview插件)。Markdown syntax less(pager)
我想在使用less(pager)查看文件時使用相同的語法着色。有沒有辦法少做這種語法着色?或者是否有另一個具有此功能的傳呼機?
less
本身不支持語法高亮顯示,但是您可以使用GNU-source-highlight
這樣做。
首先,您需要安裝它。例如,在RHEL/Centos的/ Fedora的(根):
$ 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帶有一個名爲Evil Mode的Vim兼容包,它。因爲它似乎可能不是那麼糟糕)
隨着Vim Markdown highlighting (and folding)運行起來,最直接的解決辦法是喚起在只讀模式vim
有兩種vim -R
,或(至少在Ubuntu)更優雅:
$ view filename.md
在非常機器人中添加以下內容您.vimrc
文件的湯姆和view
將表現就像less
您最喜愛的語法高亮的好處(不僅是降價!)和摺疊:
" less behaviour for view
" https://stackoverflow.com/a/39836959/2192488
" 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
" http://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
au!
au BufEnter * :call LessBehaviour()
augroup END
還存在一個更嚴格的less.sh
腳本。在我的系統上,它包含vim
在/usr/share/vim/vim74/macros/less.sh
下。但是,摺疊不適用於該腳本。
我也看了[高亮](http://www.andre-simon.de/doku/highlight/en/highlight.php),它的工作原理類似,輸出顏色更好(imho)。 'LESSOPEN =「|/usr/local/bin/highlight --out-format = xterm256%s」' – MERM
另外,找到[vimpager](https://github.com/rkitover/vimpager),它給了我相同的語法着色爲vim :))如果您使用.vimrc的精簡版作爲.vimpagerrc,請參閱[這裏](http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager)以獲得一些建議。 – MERM
我最終設置了我的bash配置,所以我的PAGER使它更喜歡vimpager或更少使用高亮,然後src-hilite-lesspipe.sh。 – MERM