コマンドにエイリアスを使用するには?

コマンドにエイリアスを使用するには?

aliases私のファイルに頻繁に使用されるさまざまな長いパスが生成されていますが、内部的にまたはなどのコマンドを介して.bashrc使用できないようです。たとえば、次のコマンドはcliでは動作しますが、vim:またはコマンドラインでは動作しません。この問題はどのように解決されますか?vimfindgrep

db
cd /some/very/long/path/db

:e db/file.java
grep -r string db

答え1

このディレクトリの環境変数を設定できます。

# Making the variable name consist entirely of capital letters makes the
# variable less likely to conflict with other variables in scripts. You can
# make the variable name consist of lowercase letters but you may run
# into problems. 
export DB=/some/very/long/path/db

その後、Vimからエクスポートされた変数を次のように使用できます。

:e $DB/file.java

シェルから:

grep -r string $DB

Vimとbashの変数置換ツールは互いに完全に独立しています。 Vimはbash(および他のいくつかのシェル)と同様の方法で環境変数を置き換えます。

答え2

エイリアスを使用すると、コマンドと一部のパラメーターに短い名前を指定できます。コマンドが必要な場合にのみ拡張されます。ファイルパスの短縮には使用できません。

さらに、.bashrcインタラクティブシェルからのみ読み取ることができるため、定義した内容はVimに入力したコマンドでは使用できません。

ファイルやディレクトリへのショートカットが必要な場合は、ショートカットを作成してください。シンボリックリンクそれに。

ln -s /some/very/long/path/db ~/db
grep -r string ~/db
vim ~/db/file.java

環境変数を定義して文字列を短縮できます。環境変数定義が提供されます~/.profile。すべてのプログラムがそれを拡張するわけではありませんが、:eVimは別のプログラムでファイルを開くと拡張します。

答え3

エイリアスに関して、.bashrcあなたができることに驚くでしょう。私はそれを試してみたのでうまくいくことを知っているいくつかの例を挙げます。

  • alias Documents='/home/username/Documents'うまくいきますが、一人ではありません。alias Open='cd'とペアにし、doと入力してからを入力すると、を入力したかのsource .bashrcようOpen Documentsに実行されますcd /home/username/Documents

  • または、次のことができます。alias Documents='cd home/username/Documents'、その後。source .bashrcと入力するとDocuments同じ操作が行わOpen Documentsれますcd home/username/Documents

私が言ったように、エイリアスを使用すると多くのことができます。結局.bashrc、あなたがしなければならないことは想像力を発揮し、思い出したものが効果があるか確認するだけです。

調べてからvimもう一度連絡させていただきます。

関連情報