I need to use the less command with the syntax highlighting of the vim command for python, C, bash and other languages.
How do I apply syntax highlighting colors according to vim colors for less command?
I need to use the less command with the syntax highlighting of the vim command for python, C, bash and other languages.
How do I apply syntax highlighting colors according to vim colors for less command?
Syntax highlighting of less, works just fine on most *nix systems.
apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '
On Fedora/RedHat based distros use /usr/bin/src-hilite-lesspipe.sh instead.
Even on Cygwin you can do it with the minor adjustment of the shell script path and installing with apt-cyg instead of apt.
However, using this drastically slows down browsing of large files. I suggest to use alias in such a way to only implement the LESSOPEN export above when needed, like this:
alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '
where the -M flag is convenient to also show filename and line number.
Also remember to copy the script into your bin path:
cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh
UPDATE: 2019-07-24
Apparently, on more recent Cygwin installs, you have the following files in your path:
source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe
So now you also need to execute the source-highlight-settings.exe that will add the configuration file:
$HOME/.source-highlight/source-highlight.conf.
shopt -p and set.
brew install source-highlight, then I added an alias: alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
source ~/.bashrc after specifying the correct alias, else you may end up with unix.stackexchange.com/questions/792028/…
less doesn't support syntax highlighting.
vim, like all vi clones has a read-only mode called view which you can use to just view files. it supports all features of vim including syntax highlighting.
e.g.
view filename.py
the main difference between view and vi is that view doesn't "lock" the file you're viewing by creating a .swp file.
view command means from radare package , it's not read only
view command doesn't seem to support syntax highlighting. I've tried :syntax enable and :syntax on, but I always get syntax: Not an editor command. My vim supports highlighting, though.
/usr/bin/ex, which, curiously, is owned by the vi package.
arch linux view is a symlink to /usr/bin/ex of core/vi package.
less doesn't support syntax highlighting. It can, however, be configured to pipe the input data through other programs that transform it in various ways (including applying colour codes for syntax highlighting). The answer you refer to is NOT less doing syntax highlighting, it is calling an external program via the LESSPIPE variable (and adding the -R option via the LESS var) - note that using LESSPIPE just for syntax highlighting replaces the ability to view many other file types, incl. the file list of tar, deb, etc as well as the text layer of PDFs.
I tend to disagree with Ingo, less can be taught to highlight syntax. Check out this answer on SuperUser. Basically, you have to install GNU's source-highlight (available in all major distro package repos), and then add the following to your .bashrc (or .bash_profile or what have you):
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "
However, note that source-highlight is not as powerful as vim's highlighter. Use whatever suits you best.
less requires third-party tools to highlight syntax elements, but Vim can be used as a pager, i.e. a replacement for less. There are more advanced plugins, but the basic script actually ships with Vim ($VIMRUNTIME/macros/less.sh). For the full information, see Using vim as a syntax-highlighting pager on the Vim Tips Wiki.
If you're already using Vim, the consistency (and support of almost any file type) makes this worth a try.
less that does the highlighting; but Vim indeed has this capability built-in.
$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
After dabbling in some of the answers above, I think the most configuration-free solution is to just install and use vimpager.
It is available on github, homebrew, Arch (older version), AUR (latest), and maybe more.
After install you should be able to immediately use vimpager instead of less at your shell.
To utilise vimpager in other instances where less is used, you can change the PAGER variables your shell config (.bashrc etc.) by adding:
export PAGER=/usr/local/bin/vimpager
export MANPAGER=/usr/local/bin/vimpager
The install paths may (need to?) be different on OSX, but this works fine on Arch linux.
You can then set an alias to always substitute less for vimpager, in the same file:
alias less=$PAGER
(As described at the github readme)
http localhost:8000|vimpager