Emacs/XEmacsの特定の列(特定の列番号)をキーボードのみで削除することはできますか?マウス(または矢印キー)を使用してテキストの矩形を選択することは可能ですが、100万行のテキストファイルでは時間がかかることがあります。キーボードを使ってEmacs/XEmacsのテキストの特定の列を削除する
ありがとうございます!
Emacs/XEmacsの特定の列(特定の列番号)をキーボードのみで削除することはできますか?マウス(または矢印キー)を使用してテキストの矩形を選択することは可能ですが、100万行のテキストファイルでは時間がかかることがあります。キーボードを使ってEmacs/XEmacsのテキストの特定の列を削除する
ありがとうございます!
あなたがdelete-rectangle
(C-X rをD)またはkill-rectangle
(C-XのR K)で矩形を削除することができます。いずれかがポイントとマークで定義されたコーナーで矩形を消去します。 kill-rectangle
は、yank-rectangle
でヤンクして保存します。
システムにsed
またはawk
がある場合、C-u M-|
を使用すると便利です。ドキュメントから
:
M- |コマンドを実行します。シェルコマンドをオンリージョン[...]
リージョンを入力として下位シェルに文字列COMMANDを実行します。 一時バッファ内の出力を表示します(ある場合)。シェルコマンド出力 '; 接頭引数は、領域をその領域に置き換えることを意味します。 COMMANDの終了コードを返します。 [...]
プレフィックスarg(C-u
)に関するビットに注意してください。
ヒント:C-x h
は、領域をバッファ全体に設定します。
ありがとうございました。しかし、100万行のテキストファイルに対して、マウスを使用せずにすばやく選択矩形を作成するにはどうすればよいですか?私はテキストを素早くスクロールして選択するためにページアップまたはページダウンを保持しながらシフトを押さえようとしましたが、これはまだ比較的遅いです。 – Andrew
大規模なジョブのための高速SEDスクリプトを書くことをお勧めします。 – kmarsh
行ごとに列を削除する場合は、最初の行の列の先頭にマークを設定してから、 'end-of-buffer'(' M-> ')を押し、列を最後の行に置き、 'delete-rectangle'を実行します。 – ataylor