Windowsを実行していますが、vim
がありません。 Notepad ++を使用してWindowsコマンドプロンプトからコマンドを実行し、出力をnotepad ++バッファーに配置することは可能ですか?
元のQは、シェルコマンドの出力(stdout
)を現在のドキュメント(viの用語ではgeneral buffer
)に読み込むviの機能に似たものをサポートするNotepad ++に関するもののようです。
:r! ls
:
(ex
ラインエディタコマンド)r
(読み取り)!
(シェルから、コマンドの出力(stdout
)ls
を現在のドキュメントに挿入します(何も指定されていません。デフォルトではgeneral buffer
に読み込まれます)
F5
またはメニューシステムをナビゲートします実行menu
から実行..menu-item
notepad++ Run
ダイアログのテキストボックスに目的のコマンドを入力します。
cmd.exe /c echo %DATE% | clip
[〜#〜] enter [〜#〜]key
を押すか、Runbutton
をクリックします。
Ctrl+V クリップボードの内容をNotepad ++ドキュメントに。
Notepad ++を使用してWindowsコマンドプロンプトからコマンドを実行し、出力をNotepad ++バッファーに配置することは可能ですか?
私の知る限り、直接ではありません。とはいえ、この場合、バッチファイルが役立つ可能性があります。例:
_@rem Redirects both STDOUT and STDERR to e.g. cli_tmp.txt
%* > C:\temp\cli_tmp.txt 2>&1
"C:\Program Files (x86)\Notepad++\notepad++.exe" C:\temp\cli_tmp.txt
exit()
_
これをex。open_npp.batとして保存し、Windows Path
に登録すると、ex。を使用できます。 :
_open_npp echo hello
_
コマンドプロンプトで、_echo hello
_(つまり、hello
)から出力されたテキストは、_cli_tmp.txt
_というラベルの付いた新しいNotepad ++タブに表示されます。さらに、Notepad ++ Run ...メニュー項目を使用して_cmd /k open_npp echo hello
_を実行し、コマンドラインから_open_npp echo hello
_を実行するのと同じ効果を得ることができます。
メモ
このアプローチの最大の欠点は、通常、バッチファイルが呼び出されるたびに出力が上書きされるため、出力をコピーするか、実行ごとに異なるタイトルで一時ドキュメントを再保存する必要があることです。
現状では、与えられたバッチの例では、STDERRからの出力は一時ファイル(vs. console)に書き込まれ、コマンドウィンドウは完了後すぐに閉じられます(exit()
)。ただし、この動作は明らかに変更できます。
このメソッドは、インタラクティブなコマンド入力/出力を適切にキャッチしない可能性があります。同様に、プロセスがハングしたり、永遠にかかったりすると、何が起こっているのか推測できなくなる可能性があります。
この種のバッチファイルの使用で問題が発生したことはありませんが、常にエッジケースが発生する可能性があります。 = P
pork2sausage を使用できます。新しいNotepad ++でPluginsAdminを開くか、古いバージョンでPlugin Managerをインストールして、そこからプラグインをインストールするだけです。それ以外の場合は、 Plugin Central に移動し、Zipファイルを手動でダウンロードします
プラグインは、トランスフォーマー(入力を受け取り、出力を生成するコンソールプログラム)がPork to Sausageプラグインで適切に設定されると、選択したテキストを必要なものに変換します。
このプラグインの魅力的な部分は、その柔軟性です。1つ(または複数)の小さなプログラムを任意の言語(Javaまたは.Net)など)で記述したり、他のプログラムを使用したりできます。選択したテキストをNotepad ++で変換するため。
最大20個のコマンドをカスタマイズできます。
開いているプラグインをインストールした後>ソーセージへのポート>ユーザーコマンドを編集し、必要なコマンドを追加します。選択したテキストを大文字に変換する例を次に示します(もちろん、実際には、Notepad ++からの組み込みの大文字小文字変換を使用する必要があります)
[toupper]
progPath=C:\Windows\System32\cmd.exe
progCmd=cmd /c "echo $(SELECTION) | tr [:lower:] [:upper:]"
workDir=C:\Users\...\tmp
ただし、上記の例を新しい行で機能させるには、さらに2つのオプションprogInput
とprogOutput
を追加する必要があります。選択したテキストがreplaceSelection
で上書きされるのを防ぐこともできます。プラグインのコメントで詳細を見つけることができます
Notepad ++コンソールウィンドウでは、シェルコマンドを実行し、出力をクリップボードバッファにリダイレクトすることができます。
たとえば、現在の日付と時刻をクリップボードにコピーするには、次のようにします。
cmd /c Echo %DATE% %TIME% | clip
いいえ。できることは、WindowsにVimまたはEmacsをインストールすることです。 Notepad ++でコマンドを記述し、バッチファイル(.bat)に保存することもできます。コマンドを実行するはずのダブルクリック。