すべてのリモートコンピュータで構文強調表示を有効にするには、ローカルコンピュータでどの設定を変更する必要がありますか?

すべてのリモートコンピュータで構文強調表示を有効にするには、ローカルコンピュータでどの設定を変更する必要がありますか?

この質問にはあまり役に立たない答えがたくさん浮かんでいます。色々試してみました。場合によっては、私がアクセスするすべてのリモートコンピュータの設定を変更する必要があります。いくつかの予定は私のローカルコンピュータでいくつかの変更だけで動作しましたが、失敗しました。

この問題私が試したいくつかのソリューションを収集しました。

まず:SSH経由でリモートアクセスするすべてのコンピュータで構文強調表示を有効にするように、ローカルコンピュータの設定を変更できますか?

それでは、どうすればいいですか?

私はWindows 10でUbuntu用のBashを使用しており、主にUbuntuまたはDebianを実行しているコンピュータに接続しています。

特に強調したいコマンド/プログラムは次のとおりです。

ls stuff
history | grep stuff
vim stuff

答え1

この回答には構文の強調は含まれません。具体的にではなく、複数のシステムで一貫した構成を維持する問題です。

特に、様々なアプリケーション構成を考えると、ローカルシステムの構成変更により、リモートシステムのユーティリティ動作を容易に変更することができない。

ホームディレクトリがNFSなどのネットワーク共有にマウントされている場合、ローカルコンピュータ上のファイルまたは他のファイル~/.bashrcへのローカル修正は明らかにリモートシステムに渡されます(リモートシステムに同じ共有がマウントされている場合)。

次の手順(他のシステムでホームディレクトリを共有できない場合)は、目的の方法でローカル構成を設定してから、scp同様のrsync方法を使用してリモートシステムにコピーすることです。ローカル構成を調整する予定の場合は、これを行うための簡単なスクリプトを作成することをお勧めします。

これらのスクリプトは(テストされていない)と同じくらい簡単です。

#!/bin/bash

configs=( "$HOME/.bash_profile" "$HOME/.bashrc" )
remotes=( "host1" "host2" )

for remote in "${remotes[@]}"; do
   scp "${configs[@]}" "$remote:"
done

次のステップは、Gitなどのネットワーク対応ファイルリビジョン制御システムに関連する設定ファイルを保存することです。これにより、特定のシステムまたはUnixバージョンのブランチを作成しながら、ネットワークを介して設定に簡単にアクセスできます。

さらに、同じ名前を使用しても、異なるユーティリティは異なるシステムで異なる実装またはバージョンを持つ可能性があるため、異なる設定が必要になる場合があります。これは、Bashなどの構成によってシェルが破損する可能性があることを意味します。これらの破損の明白な原因は、Bashバージョン3とBashバージョン4の違いまたはls一部(Linuxではない)システムがGNU coreutils(他の同様のシェルツールを提供する)を使用していないことです。

違いを解決しようとしています。ファイルシステムのレイアウト(異なるUnicesのアカウント間で共有されるinitスクリプトを含むシェルを設定しようとすると、別の問題が発生します。これにより、PATH他のホストで異なる設定が必要です。)鉱山では(代わりに~/.profile使用している)次のように表示されます。ksh93bash

PATH="$( getconf PATH )"
case "$(uname -s)" in
    OpenBSD) PATH="$PATH:/usr/local/sbin:/usr/games" ;;
    NetBSD)  PATH="$PATH:/usr/X11R7/bin" ;;
esac

答え2

SSHを介して色を得ることは常に簡単ではありません。

必要なすべての構成ファイルが別のホストにコピーされていることを確認する必要があります。 Vimには、.vimrcにある特定の色設定が必要です.bashrcこのブログ投稿接続されているすべてのコンピュータにドットファイルを自動的にコピーする方法について説明します。

それを使うLocalCommand、OpenSSHクライアントがローカルコンピュータでコマンドを実行する機能です。

完全性のために、コマンドはここでbash:Correctionを使用して再印刷されます PermitLocalCommand yes LocalCommand tar c -C${HOME} .bashrc .vim .vimrc \ | ssh -o PermitLocalCommand=no %n "tar mx -C${HOME}

lsまたは、の出力色を指定する方法によっては、追加のプロファイルが必要になる場合がgrepあります。

上記はtar ssh tar非常に一般的で、複数のファイルをリモートコンピュータにコピーできるコマンドパターンです。

それでも問題が解決しない場合は、追加情報を提供する必要があります。ミント使ってますか?決めましたTERMか?あなたの.vimrc合計はどのように.bashrc見えますか? vimでどのカラースキームを使用したいですか?クールなシェーディングツールを使用していますか? ...

関連情報