Vim
在 Emacs 或 Vim 中進行塊編輯 live
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:沒問題,塊選擇可以在文本之外開始。
- 我來了:
:set virtualedit=block
。- Emacs:可能使用
artist-mode
和/或picture-mode
.內聯粘貼塊:粘貼複製的塊,就像粘貼多行一樣,例如,將已經存在的文本向下推,不正確。
- jEdit:預設值。要將塊粘貼為塊,您需要先進行另一個塊選擇。
- 我來了:
O``Esc``V``p
。- Emacs:未知。
通用 Emacs 塊選擇功能可以在
cua-mode
外掛中找到。
我可以回答 Vim,但不能回答 Emacs。
在文本之外的位置開始和結束選擇:
:set virtualedit=block
將啟用您想要的行為。如果您願意,您可以刪除初始冒號並將其添加到您的 .vimrc 中。更多資訊,:help 'virtualedit'
來自 Vim。粘貼塊內聯:
如果你只是
p
在命令模式下點擊,Vim 將插入塊,將字元推到每一行的右側。如果你選擇另一個塊並點擊p
,Vim 會用粘貼的塊替換那個塊。您可以使用命令模式鍵序列“逐行”粘貼塊
O``Esc``V``p
。這會在目前行上方插入一行 (O Esc
),逐行選擇它 (V
),然後粘貼到它上面 (p
)。您可以將其縮短為(例如)y``p
使用諸如:nmap yp O<Esc>Vp
– type that 的映射;使用五次擊鍵<Esc>
而不是按 Escape 鍵。