私はレンジャーをターミナルファイルマネージャとして使用しており、基本を理解したので、より深く入り、目的に合わせてrcをカスタマイズしたいと思います。私が好きなものの1つは、コマンドをキーバインディングにマップし、テンプレートを現在のフォルダにコピーしてからファイルからrename_append
コマンドを実行することです(通常、キーバインディング呼び出しを使用して)。a
例は次のとおりです。
map NS shell cp ~/.templates/bash.sh . ; rename_append
問題は、コマンドをどのように呼び出してもテンプレートを現在のディレクトリにコピーしますが、名前変更プロセスを開始しないことです。 Rangerを終了するとファイルが見つからないというエラーメッセージが表示されますが、rename_append
Ranger-configは同じコマンドを使用して付録の前のファイル名を変更します。私の理論はシェルを使用しているので、コマンドがrename_append
私のプログラム内で検索しようとすることです。 1つはシェルコマンドで、次はそうでないRanger設定でコマンドをリンクする方法がわかりません。
現時点では、最初のキーバインディングに続いて2番目のキーバインディングを使用する必要がありますが、1つのキーバインディングのみを使用し、ファイルのコピー後に自動的に名前変更モードに入りたいと思います。
私の質問が理解できることを願っています。
答え1
chain
複数のコマンドを実行するには、このコマンドが必要です。
chain <command1>; <command2>; ...
この部分はもはや関連していないかもしれませんが、コピーと名前変更のための次の解決策を思いつきました。
map NS chain shell cp ~/.templates/bash.sh .; console shell mv bash.sh%space
NSを押して新しいファイル名を入力し、Enterを押してこのバインディングを使用できます。このソリューションは、現在の選択に対してコマンドを実行して選択を変更できないため、機能しませ
ん。rename_append
答え2
私は(シェルコンポーネントなしで)同じ問題を経験しています。D
マッピングしたいことは、.d.!
ディレクトリを隠すことです。
基本構成
.d
マッピング済みfilter_stack type d
.!
マッピング済みfilter_stack not
D
だから、私は次のマッピングを介して2つを接続しようとしています。
map DD filter_stack add type d ; filter_stack add not
'type'
これを試みると、コンソール出力に赤が表示されます。
どちらの場合も;
正しく解釈されないようですが、シェルの場合は意味があいまいです;
(シェルコマンドの終わりですか、それともRangerマッピングコマンドの終わりですか?)。私の場合、あいまいさはありません。
type d
それでも後で追加された内容はその種類の連続として解釈され、d
エラーが発生するようです。間違った型が生成されたためです(" "も" d
"d;
も有効な型ではありません)。