Режим Hexl не позволяет удалять символы. Этот ответ от переполнения стека предлагает обходной путь: переписать символы, которые вы хотите удалить, другим символом (скажем, «X»), переключиться из режима hexl, найти символы и удалить их там.
Удалить данные из середины двоичного файла в hexl-режиме
У меня есть довольно большой двоичный файл (несколько десятков МБ), и я хотел бы удалить несколько КБ где-то посередине, это зажатые данные не начало и не конец.
В идеале я хотел бы использовать emacs, и hexl-mode кажется вероятным кандидатом.
Можно ли удалить одну строку из буфера hexl? Ctrl- kкажется, не делает работу. Я рад взглянуть на код, но по какой-то причине ищу hexl-mode.el, все, что я нахожу, - это скомпилированный файл .elc на моей машине Ubuntu 10.04 Emacs 23.1.
Дополнительно: в хитром движении я хотел бы добавить еще один вопрос в режиме hexl, который не имеет прямого отношения к вопросу, сформулированному в заголовке, но является частью полной проблемы, с которой я сталкиваюсь: это было бы очень полезно для меня, если бы Я мог отображать X шестнадцатеричных символов в каждой строке, где X, очевидно, меняется в зависимости от формата редактируемого двоичного файла, я не мог найти способ сделать это с помощью режима hexl и подумал, что здесь я добавлю вопрос.
2 ответа на вопрос
Используйте nhexl-mode (который можно установить как пакет от ELPA). Nhexl-режим - второстепенный режим; текст остается редактируемым в основном режиме, в котором буфер уже был.
По умолчанию nhexl-mode активирует режим перезаписи, но вы все равно можете удалить. Чтобы вставить текст, отключите режим перезаписи с помощью M-x binary-overwrite-mode
.
Вы можете поместить следующий фрагмент кода в файл инициализации ( ~/.emacs
), чтобы привязать Insertключ к переключению режима перезаписи в nhexl-mode.
(unless (boundp 'nhexl-mode-map) (defvar nhexl-mode-map (make-sparse-keymap) "Keymap used when `nhexl-mode' is active.")) (define-key nhexl-mode-map [insert] 'binary-overwrite-mode)
Это также может быть интересно, если вы используете nhexl-mode.
Похожие вопросы
-
4
Текст в котельной с Emacs Gnus
-
3
Как сделать символы Unicode видимыми в Emacs?
-
2
Почему я не могу использовать свой собственный ftp.exe?
-
-
9
Шестнадцатеричные редакторы для Windows?
-
2
Mac OS X, Emacs и клавиатура Windows - переназначение клавиш
-
3
Почему M-RET становится CMj
-
2
Как изменить шрифт в Emacs для Windows?
-
2
Как я могу различить различные пакеты Emacs в Ubuntu?
-
1
Начальные размеры Aquamacs
-
5
Есть ли * хороший * HTML-режим для emacs?