私のエイリアスは次のとおりです.zshrc
。
alias grim='gvim --remote'
しかし、これはRangerファイルマネージャでは見ることができません。私はRangerが「ユニバーサル」シェルを実行し、私をスキップし、.zshrc
このエイリアスをすべてのシェルで表示したいと思います。
に追加しましたが~/.profile
効果が/etc/zsh/zshrc
ありませんでした。具体的には、次のようなメッセージを受け取りました。
/bin/sh: grim: not found
答え1
対話型シェルだけがエイリアス定義を含むことができるファイルを読み取ることができます。アプリケーションで実行されるシェルコードでコマンドの別名を使用する場合は、エイリアスは正しいツールではありません。代わりに、次のラッパースクリプトを作成してください。
#!/bin/sh
gvim --remote "$@"
それを呼び出し~/bin/grim
て実行可能にします。~/bin
(PATH
スクリプトを他のディレクトリに配置できる)を確認してくださいPATH
。
システム内のすべてのユーザーに対して機能するようにするには、ディレクトリーが/usr/local/bin
すべてのユーザーのPATHにあることを確認してディレクトリに入れます。
答え2
ファイルを生成できます。エイリアス.sh/etc/profile.d
ディレクトリに
この行を書く
alias grim='gvim --remote'
このファイル内でエイリアス.sh
これにより、システム全体のカスタマイズが作成されます。
変えるエイリアス.sh次の別のファイル名を使用できます。。
答え3
~/.config/ranger/commands.py をハッキングして shell.execute() の最後の行を置き換えることができます。
self.fm.execute_command(command, flags=flags)
そして
self.fm.execute_command("bash -c '" + command + "'", flags=flags)
これは私にとって効果的です。
答え4
似たようなことをしたことがありますか? :
source /path/to/.profile