2

現時点では、リモート マシンで別の名前にするために、vimrc でサーバーの名前をハード コードする必要があります。hostname()これは、vim の関数を使用した条件文によって行われます。ホスト名ではなく、リモート接続のステータスに基づいて条件を作成したい。そう...

私が最初に見つけた解決策は、次の bash コマンドを使用することでしたsystem()

cat /proc/$PPID/status | head -1 | cut -f2

GNU を使用しているため、これは機能しませんscreen。接続ステータスが正しく検出されません。

私が現在模索している2番目の可能な解決策は、who am iこれを使用することです。これは、どのクライアントからリモート接続が確立されたかどうかを確実に示しますが、うまく動作しませんsystem()

if substitute(system('who am i'), "theclient", ????, "") == ""
     ...

どういうわけかクライアント名を抽出するにはどうすればよい????ですか??

2 番目の解決策が機能し、多数の異なるリモート マシンで .vimrc を使用できるようになったとしても、それは依然として 1 つのクライアントに結び付けられています。クライアント名に関係なく、すべてのリモート セッションで条件付きが機能するようにします。だから私は疑問に思っています、これは可能ですか?

4

2 に答える 2

2

条件付きロジックを共有に追加する代わりに、代わりに~/.vimrcシステム ローカル設定をソースすることもできます。私は以下を使用します:

" Source system-specific .vimrc first.
if filereadable(expand('~/local/.vimrc'))
    source ~/local/.vimrc
endif
" Stop sourcing if inclusion guard exists.
if exists('g:loaded_vimrc')
    finish
endif

" Common settings of .vimrc here...

これは、絶えず変化するホスト名のリストを中央の場所で維持しようとするよりもスケーラブルだと思います。

于 2013-04-04T10:58:40.337 に答える