Text 使用键盘删除Emacs/XEmacs中的特定文本列

Text 使用键盘删除Emacs/XEmacs中的特定文本列,text,emacs,gnu,xemacs,Text,Emacs,Gnu,Xemacs,是否可以仅使用键盘删除Emacs/XEmacs中的特定文本列(即特定列号)?我知道可以使用鼠标(或箭头键)选择文本的矩形,但是对于100万行的文本文件,这可能非常耗时 谢谢 您可以使用delete rectangle(C-xrd)或kill rectangle(C-xrk)删除矩形。任何一个都将删除由点和标记定义的角的矩形kill rectangle还将保存它,以便使用yank rectangle拖动。如果您的系统上有sed或awk,您可以方便地使用C-u M- 从文件中: M-|在区域[…]上

是否可以仅使用键盘删除Emacs/XEmacs中的特定文本列(即特定列号)?我知道可以使用鼠标(或箭头键)选择文本的矩形,但是对于100万行的文本文件,这可能非常耗时


谢谢

您可以使用
delete rectangle
(C-xrd)或
kill rectangle
(C-xrk)删除矩形。任何一个都将删除由点和标记定义的角的矩形
kill rectangle
还将保存它,以便使用
yank rectangle

拖动。如果您的系统上有
sed
awk
,您可以方便地使用
C-u M-

从文件中:

M-|在区域[…]上运行命令shell命令

在下位shell中以区域作为输入执行string命令。 通常在临时缓冲区“外壳命令输出”中显示输出(如果有); 前缀arg表示用它替换区域。返回的退出代码 指挥部。[……]

请注意有关前缀arg的位(
C-u


提示:
C-x h
将设置整个缓冲区的区域。

谢谢。但是如何快速(不使用鼠标)为一百万行文本文件创建一个选择矩形?我曾尝试在按住shift键的同时按住Page Up或Page down键快速滚动并选择文本,但这仍然相对较慢。我建议为如此大的作业编写一个快速SED脚本。如果要删除每行的列,请首先在第一行的列开头设置标记,然后点击
end of buffer
M->
),移动到最后一行的列末尾,然后运行
delete rectangle
。sed可能是一个更好的选择,或者使用
emacs--batch--script运行一个小的elisp程序。您不需要按住shift键。首先用
C-space
设置标记,然后用
M->
设置标记。该地区现在应该是活跃的。即使它将高亮显示为线,矩形命令仍将在矩形上操作。