少ないコマンドと構文の強調表示


44

私が使用する必要があるless commandためのvimのコマンドの構文の強調表示でpythonCbashおよびその他の言語。

どのように私はによると、構文の強調表示色を適用しないvimための色less command

回答:


36

の構文強調表示はless、ほとんどの* nixシステムで正常に機能します。

apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Fedora / RedHatベースのディストリビューションでは/usr/bin/src-hilite-lesspipe.sh代わりに使用します。

Cygwinでさえ、シェルスクリプトのパスを少し調整し、のapt-cyg代わりにでインストールできaptます。

ただし、これを使用すると、大きなファイルの参照が大幅に遅くなります。このように、必要な場合aliasにのみLESSOPEN上記のエクスポートを実装するように使用することをお勧めします。

alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '

-Mフラグは、ファイル名と行番号も表示するのに便利です。

また、スクリプトをビンパスにコピーすることを忘れないでください。

cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh

更新日:2019-07-24

明らかに、最近のCygwinインストールでは、パスに次のファイルがあります。

source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe

そのためsource-highlight-settings.exe、構成ファイルを追加するを実行する必要があります
$HOME/.source-highlight/source-highlight.conf


エイリアス 'lessh'は機能しません。OSXでのbashの実行。はぁ。
スコットビッグス14年

これはまったく異なる問題です。おそらく、OSXがさまざまなシェルオプションと環境オプションを使用しているためであり、一重引用符と二重引用符の解釈に異なる影響を与える可能性があります。これらを確認して設定するには、shopt -pとを使用しsetます。
not2qubit

1
これはOSXで私のために働いた:最初にインストールして:brew install source-highlight、次にエイリアスを追加しました:alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
mhvelplund

39

less 構文の強調表示をサポートしていません。

vim、すべてのviクローンと同様に、viewファイルを表示するために使用できる読み取り専用モードがあります。構文の強調表示を含むvimのすべての機能をサポートします。

例えば

view filename.py

主な違いviewとは、viそのビューがない「ロック」あなたは.swpファイルを作成することにより、表示しているファイルを実行しています。


view commandからの手段であればradare package、それは読み取り専用ではありません
ペルシャ湾

4
うーん、私のviewコマンドは構文の強調表示をサポートしていないようです。私が試した:syntax enable:syntax on、私はいつも得ますsyntax: Not an editor command。私のvimサポートは、しかし、強調表示します。
フェリックス

@felix -あなたは別のものを持っているかviのようにnvi、またはelvisインストールされていますか?チェックあなたの/usr/bin/view-私のDebianシステム上で、それがシンボリックリンクだ/etc/alternatives/viewと、今度は、シンボリックリンクです/usr/bin/vim.basic
cas

1
うーん、私の場合、それはへのシンボリックリンク/usr/bin/exであり、奇妙なことに、viパッケージが所有しています。
フェリックス

2
@ arch linux view/usr/bin/exのシンボリックリンクである@Felixの言うことを確認できcore/viます。
x-yuri

12

less構文要素を強調するように教えることはできませんが、Vimはページャーとして使用できますless。より高度なプラグインがありますが、基本的なスクリプトは実際にはVimに同梱されています($VIMRUNTIME/macros/less.sh)。詳細については、Vim Tips Wikiのvimを構文強調ページャーとして使用するを参照してください。


2
私は人々がさえ間違った答え...投稿する前にGoogleに迷惑を掛けていない驚いている
not2qubit

1
@ user1147688:Felixの答えを注意深く読んだ場合、GNU source-highlightは外部プログラムであり、lessとの統合は非常に緩やかです。less強調表示をするのはそうではありません。しかし、Vimには実際にこの機能が組み込まれています。
インゴカルカット14年

「少ないコマンドでvimの色に応じて構文強調色を適用するにはどうすればよいですか?」という質問では、「source-highlightを使用して」という回答は「vimを使用して」というより正しい答えのようです。
ザノ

1
+1ですが、これらのコメントが何を言おうとしているのかは確かです-肯定的か否定的かはわかりません( "...間違った回答を投稿する前にグーグル"?、 "xyzをインストールすることは、単に使用するよりも正しいですvim "?)。この答えは明らかに「最も正しい答え」です。基本的に、OPはこのvimの機能が存在することを知りませんでした。この回答により、OPはそれが存在することを知ることができます。Occamのカミソリftw。その答えは、例えば、一例を示すことによって改善することができた$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
マイケル

12

私はIngoに反対する傾向があり、構文を強調less するように教えることできます。チェックアウトこの答えスーパーユーザーを。基本的に、GNUのsource-highlight(すべての主要なディストリビューションパッケージリポジトリで利用可能)をインストールし、次に.bashrc(またはあなた.bash_profileが持っているもの)に以下を追加する必要があります。

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "

ただし、の蛍光ペンsource-highlightほど強力ではないことに注意してくださいvim。最適なものを使用してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.