aliases
私のファイルに頻繁に使用されるさまざまな長いパスが生成されていますが、内部的にまたはなどのコマンドを介して.bashrc
使用できないようです。たとえば、次のコマンドはcliでは動作しますが、vim:またはコマンドラインでは動作しません。この問題はどのように解決されますか?vim
find
grep
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
。すべてのプログラムがそれを拡張するわけではありませんが、:e
Vimは別のプログラムでファイルを開くと拡張します。
答え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
もう一度連絡させていただきます。