問題タブ [tab-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - コマンドの出力を単純にフォークして /dev/null にリダイレクトする
私はシェル (私の場合は Bash) からコマンドを頻繁に実行しますが、これらのコマンドはすぐにフォークして無視したいものです。実際、私silent
はそれを行うスクリプト ( ) を頻繁に作成しました。
その後、たとえば実行できます
また、フォークしたばかりのプロセスのデバッグ出力によって端末が汚染されることもありません。
2 つの質問があります。
これを行う「公式の」方法はあり
&> /dev/null &
ますか?そうでない場合、コマンドの後にタブ補完
silent
をあたかも存在しないかのように機能させる方法はありますか? 例を挙げると、 を入力した後、 を押したときにsilent inksc
bash がコマンドをオートコンプリートするようにしたいと思います。silent inkscape
[tab]
python - Cmd モジュールとの Python Twisted 統合
Python のTwistedとCmdが好きです。合わせて使いたいです。
いくつかのことが機能しましたが、Twisted の LineReceiver で (Enter を押さずに) タブの keypres イベントをすぐに受け取る方法がわからないため、これまでのところ、タブ補完を機能させる方法がわかりませんでした。
これまでの私のコードは次のとおりです。
タブ補完とは別に、これはある程度機能します。「help」などのコマンドを入力すると、Cmd モジュールが結果を出力します。しかし、Twisted は一度に 1 行ずつバッファリングするため、Cmd モジュールの気の利いたタブ補完機能を失いました。LineProcessor.delimiter
空の文字列に設定しようとしましたが、役に立ちませんでした。たぶん、LineReceiver の代わりに使用する Twisted の他の部分を見つける必要がありますか? または、すべての文字を 1 つずつ処理する必要がないようにする、より単純なアプローチがあるのでしょうか。
これをネットワーク アプリケーションにしたいので、Cmd だけを使用することはできません。一部のコマンドはデータを送信し、ネットワークからのデータの受信は非同期で行われます (ユーザーに表示されます)。
上記のコードから始めるか、まったく別のコードから始めるかに関係なく、ネットワーク イベントとタブ補完に応答する、素晴らしく使いやすいターミナル アプリケーションを Python で作成したいと思います。すでにあるものを使用でき、自分で実装しすぎる必要がないことを願っています。
linux - シェルのタブ補完を設定して代替を切り替えるにはどうすればよいですか?
たとえば、「cd bu[tab]」と入力し、複数のオプション (build/ と builds/ など) がある場合、ターミナルは通常、([tab] を 2 回押した後) 可能なすべてのオプションのリストを表示します。[タブ] を押すたびに、選択肢のリストを表示するのではなく、選択肢を循環するように設定したいと思います。
$ cd bu[タブ] -> $ cd build/ -> [タブ] -> $ cd builds/ -> [タブ] -> $ cd build/ など。
私が言いたいことが明確であることを願っていますか?:) たとえば、mIRC には、ニックネームとチャンネル補完のための同じ機能があります。
また、これは自分で補完スクリプトを書かなくても可能だと教えてください。
編集:Ubuntuの標準端末を使用しています。
node.js - vimキーバインディングとメソッド/変数補完を備えたNode.js REPL
私の知る限り、Node REPL で vim キーバインディングを取得する標準的な方法は、次のrlwrap
ように使用することです。
NODE_NO_READLINE=1 rlwrap node
ただし、これにより、メソッドと変数のタブ補完が強制終了されます。回避策はありますか?
osx-lion - Mac OSX (Lion) での sftp タブ補完
OSX (Lion) のコマンドラインで sftp を使用するときにタブ補完を有効にする方法を見つけた人はいますか?
Snow Leopard では、MacPorts を使用して yafc をインストールし、タブ補完で sftp を使用しましたが、これも機能しないようです (OSX 10.7.2 の yafc 1.1.1 i686-apple-darwin11.2.0)。
タブ補完/ readline / libeditをコマンドラインベースのsftpクライアントで動作させるためのヒントや代替案は大歓迎です!
windows - Windows コンソールでのコマンド補完用に Mercurial をセットアップする
Windows のコンソールから作業しているときに Mercurial をセットアップしてコマンド補完を取得する方法はありますか?
に似たものgit bash
が欲しいのですが、水銀用です
text-editor - Macvim で :open からタブが完了しましたか?
MacVim (具体的にはjanus ) を開いて試してみる:open ~/<TAB>
と、:open ~/^I
. bash の補完が期待される方法でタブを補完するにはどうすればよいですか?
emacs - emacs のタブ補完でウィンドウが分割されない理由
X サポートなしで emacs を実行します。M-x shell
シェルを開きます。
サブディレクトリ、つまり「dirA」、「dirB」を含むディレクトリにcdした後
次に、「ls dir」と入力し、Tab キーを押して完了します
emacs は、現在のウィンドウを 2 つのウィンドウに分割せず、シェル バッファーの下にCompletionsバッファーを表示します。最初にシェルを表示していたウィンドウに完了が表示され、シェルが消えました。
シェルウィンドウを置き換えるのではなく、シェルウィンドウを自動的に分割してシェルの下に表示するにはどうすればよいですか?
powershell - PowerShell のタブ補完は VS 2010 Pascal Case Intellisense のように機能しますか?
Visual Studio 2010 では、 のようなメソッドがあれば、次のようAlphaBetaGamma()
に入力してアクセスできますsomeObject.ABG[tab]
(たとえば、この記事を参照してください)。
PowerShell では、次のようなコマンドレットがある場合、次のUpdate-Package
ように入力してアクセスできますUP[tab]
かU-P[tab]
? (私が探しているものを表示しようとしているだけで、これら2つのことがうまくいかないことはわかっています。)
そのようなタブ補完機能がない場合、実行するキーストロークの最小量はどれくらいUpdate-Package
ですか? 私は現在update-p[tab]
、9 つのキー ストロークである と入力してそれを行っています。私もできますup[tab][down][down][down][down][Enter]
が、それは文脈に依存しすぎます (私の 2 文字のプレフィックスに一致するものが多すぎる可能性があります)。
powershell - PowerShellプロバイダーの相対パスタブ-補完の問題
単純なPowerShellを実装しましたNavigationCmdletProvider
。
知らない人にとっては、これは、事実上仮想ファイルシステムドライブであるコマンドレットを使用してスナップインを作成できることを意味します。このドライブは、通常のフォルダーと同じように、PowerShellからマウントしてナビゲートできます。ドライブに対する各アクション(たとえば、パスが有効なアイテムを指しているかどうかの確認、フォルダー内の子アイテムの名前のリストの取得など)は、クラスから継承された.NETクラスのメソッドにマップされますNavigationCmdletProvider
。
タブ補完の問題に直面しているので、解決策を見つけたいと思います。相対パスを使用すると、タブ補完によって誤った結果が得られることがわかりました。絶対パスの場合、正常に機能します。
知らない人のために、タブ補完は、クラス からオーバーライドされるメソッドをNavigationCmdletProvider
呼び出すPowerShellを介して機能します。GetChildNames
NavigationCmdletProvider
-問題のデモンストレーション--
次のフォルダー階層を持つプロバイダー「TEST」があるとします。
絶対パス:
「dir TEST::child1\
」と入力して数回押すとtab、期待どおりの結果が得られます。
相対パス:
まず、「TEST::child1」に移動します。
次に、「dir
space」と入力して数回押すとtab、間違った結果が表示されます。
私は代わりにこれらを見ることを期待しています:
これはPowerShellのバグですか、それとも何か間違ったことをしていますか?
プロバイダーの完全な自己完結型コードは次のとおりです。