Удаление определенных столбцов текста в Emacs/XEmacs с помощью клавиатуры

Можно ли удалить определенные столбцы текста (например, определенные номера столбцов) в Emacs/XEmacs, используя только клавиатуру? Я знаю, что с помощью мыши (или клавиш со стрелками) можно выделить прямоугольник текста, но для текстового файла длиной в 1 миллион строк это может занять довольно много времени.

Спасибо!

2 ответа

Решение

Вы можете удалить прямоугольник с delete-rectangle (Cx rd) или kill-rectangle (Cx rk). Любой из них убьет прямоугольник с углами, определенными точкой и отметкой. kill-rectangle также сохранит это для того, чтобы дергать с yank-rectangle,

Если у вас есть sed или же awk в вашей системе вы можете удобно использовать C-u M-|,

Из документации:

M- | запускает команду shell-command-on-region [...]

Выполнить строку COMMAND в нижней оболочке с регионом в качестве ввода. Обычно выводится вывод (если есть) во временный буфер `Shell Command Output'; Приставка arg означает заменить регион на него. Вернуть код выхода команды. [...]

Обратите внимание на префикс arg (C-u).

Совет: C-x h установит регион для всего вашего буфера.

Другие вопросы по тегам