EmacsまたはVimで「ライブ」ブロックを編集する

EmacsまたはVimで「ライブ」ブロックを編集する

jEditはブロック編集をサポートしていますが、EmacsとVimは同じトピックに深刻なユーザビリティの問題があるようです。誰かがここで未知のものを埋めることができる場合は、両方のエディタのいずれかを使用する方が耐えられます。

  • 実際の長方形を選択:どこを選ぶのか画面上Emacsが制限する計算領域の線形選択ではなく、長方形です。
    • jEdit:押してCtrl選択します。
    • Vim:クリックCtrl-vして選択してください。
    • Emacs:未知;400行を超えるようです入れる必要。
  • リアルタイム長方形の編集:結果がどのように出てくるのか?みんなブロックを選択して編集するときの行です。
    • jEdit:入力を開始すると最終結果が表示されます。
    • Vim:クリックしShift-iてください。を押して挿入モードを終了するまで、最終結果のみが最初の行に表示されますEsc未知一度にすべての行の結果を表示する方法はありますか?
    • Emacs:未知;唯一の方法は、C-x r t押したときにテキストを埋めるように設定することですRet
  • テキスト外での選択の開始と終了:たとえば、各行の最初のN文字を削除したいが、最初の行と最後の行にN個未満の文字が含まれています。
  • インラインペーストブロック:コピーしたブロックを複数行を貼り付けるかのように貼り付けます。例: 既に存在するテキストをプッシュします。下に、いいえ。
    • jEdit: デフォルトです。ブロックをブロックとして貼り付けるには、まず別のブロックを選択する必要があります。
    • ウィム:OEscVp
    • Emacs:未知

一般的なEmacsブロック選択機能は以下にあります。cua-mode入れる

答え1

Vimには回答できますが、Emacsには回答できません。

テキスト外部選択の開始と終了:

:set virtualedit=block希望の動作が可能になります。必要に応じて、初期コロンを削除して.vimrcに追加できます。詳しくは:help 'virtualedit'Vim内で確認してください。

インラインペーストブロック:

コマンドモードでクリックするだけで、pVimはブロックを挿入し、各行の右側に文字をプッシュします。別のブロックを選択してをクリックすると、pVimはそのブロックを貼り付けたブロックに置き換えます。

コマンドモードキーシーケンスを使用して、ブロックを「1行ずつ」貼り付けることができますOEscVp。現在の行の上に行を挿入し(O Esc)行ごとに選択し、V()の上に貼り付けます(p)。たとえば、ypマッピングを使用して短縮できます。文字通り入力してEscキーを押すのではなく、:nmap yp O<Esc>Vp5回のキー入力を使用してください。<Esc>

答え2

たとえば、各行の最初のN文字を削除したいが、最初の行と最後の行にN個未満の文字が含まれています。

Emacs: 最初の行から選択を開始し、欠落している文字の数 (スペースなど) を最後の行に追加し、kill 四角形を使用します。

または行の長さに関係なく、ウィンドウ内で自由に移動できるartist-modeかを参照してください。picture-mode

インラインペーストブロック

Emacs: まず、ブロックを kill 四角形として保存するか、レジスタに保存してから挿入ポイントに移動し、削除矩形を使用して保存した長方形を挿入します。

400行以上のプラグインが必要なようです。

Emacsなら、なぜ問題があるのでしょうか?プラグインをコンパイルできますが、emacsのアイデアはすべてをコアに入れるのではなく、プラグインを使用してエディタを拡張することです。

答え3

持つ「クアモード」Emacsen 22.1以降のバージョンに付属しているか、リンクに沿って以前のバージョンのEmacsをダウンロードしてください。一つある短いビデオこの機能が導入されました。

一般的な長方形コマンドの場合は、次の内容をお読みください。手動、簡単な紹介を提供します。

答え4

vimから最初のn文字を削除する一般的な方法は、次のことを行うことです:%s/.\{0,6\}//

%文書全体が完成します。選択したアイテムや興味のある実際の行に置き換えることができます。このsコマンドは「交換」に使用されます。正規表現はユーザーが提供したものに置き換えられ、特定のオプションを追加しない限り、各行は一度だけ一致します。区切り記号です/。任意の文字にすることができますが、通常は他の文字を使用する方が有利でない限り使用されます(したがって、コマンドの残りの部分からエスケープする/必要はありません)。/最初の区切り文字の後の引数は、選択項目で一致する文字列を見つけるために使用される正規表現です。 2 番目の区切り文字の後の引数は一致に置き換えられます。

したがって、このコマンドは、すべての文字のインスタンスを0〜6個見つけて何もないものに置き換えることを意味します。

関連情報