jEditはブロック編集をサポートしていますが、EmacsとVimは同じテーマでいくつかの深刻なユーザビリティの問題を抱えているようです。誰かがここで未知数を埋めることができれば、どちらかのエディターを使用する方がはるかに耐えられるでしょう:
:set virtualedit=block
。artist-mode
および/またはpicture-mode
。一般的なEmacsブロック選択機能は cua-mode
プラグイン 。
Vimには答えられますが、Emacsには答えられません。
:set virtualedit=block
は、必要な動作を有効にします。必要に応じて、最初のコロンを削除して.vimrcに追加できます。詳細については、Vim内から:help 'virtualedit'
をご覧ください。
ヒットしただけなら p コマンドモードでは、Vimはブロックを挿入し、各行の文字を右に押します。別のブロックを選択してヒットした場合 p、Vimはそのブロックを貼り付けたブロックに置き換えます。
コマンドモードのキーシーケンスを使用して、ブロックを「行方向」に貼り付けることができます OEscVp。これにより、現在の行(O Esc
)の上に行が挿入され、行ごとに選択され(V
)、その上に貼り付けられます(p
)。これを(たとえば)に短縮できます yp:nmap yp O<Esc>Vp
のようなマッピングで-文字通りタイプします。 Escキーを押すのではなく、<Esc>
に5つのキーストロークを使用します。
たとえば、各行の最初のN文字を削除したいのですが、最初と最後の行に含まれる文字がN未満です。
Emacs:最初の行から選択を開始し、不足している文字数(スペースなど)を最後の行に追加してから、kill-rectangleを使用します
または、artist-mode
またはpicture-mode
を参照してください。これにより、行の長さに関係なくウィンドウ内を自由に移動できます。
ブロックをインラインで貼り付けます
Emacs:最初にkill-rectangleまたはレジスターに保存してブロックを保存し、次に挿入ポイントに移動し、delete-rectangleを使用して、保存した長方形を挿入します。
400行以上のプラグインが必要なようです
Emacsの場合、なぜそれが問題になるのですか?プラグインはコンパイル可能であり、emacsの哲学は、すべてをコアに入れるのではなく、プラグインを使用してエディターを拡張することです。
Emacsen 22.1以降に付属している 'cua-mode' があります。または、リンクをたどって以前のバージョンのEmacsをダウンロードしてください。機能を紹介する 短いビデオ があります。
一般的な長方形のコマンドについては、 マニュアル を読んでみてください。これは簡単な紹介です。
Vimでは、最初のn文字を削除する一般的な方法は、:%s/.\{0,6\}//
のようなことをすることです。
%
はドキュメント全体を実行します。それを選択または気になる実際の行に置き換えることができます。 s
コマンドは「置換」用です。正規表現は指定したものに置き換えられ、特定のオプションを追加しない限り、各行で1回だけ一致します。 /
は区切り文字です。これは任意の文字にすることができますが、他のものを使用するのが有利でない限り、通常は/
が使用されます(したがって、残りの部分で/
をエスケープする必要はありません)。コマンドの)。最初の区切り文字の後の引数は、選択範囲内の一致する文字列を見つけるために使用される正規表現です。 2番目の区切り文字の後の引数は、一致が置き換えられるものです。
したがって、このコマンドは、任意の文字の0〜6個のインスタンスを検索し、それらを何にも置き換えないことを示しています。