С помощью Magit вы можете открыть буфер состояния magit, нажать, TAB
чтобы увеличить различие (или RET
вызвать отдельный буфер различий ), отметить части блока и нажать s
или, u
чтобы поставить / удалить сцену из области. Действительно мило.
Я хотел бы знать, возможно ли:
- редактировать файл
- выберите область, блок или несколько блоков прямо в буфере файлов
- ставить / отключать выбранный регион или точку вокруг
s
. Но вы также можете поставить только часть фрагмента, пометив его части (так же, как вы делали бы это в буфере для посещения файлов), и затем выполнить только это.Ответы:
Нет, Magit не поддерживает это. Будущие версии могли бы все же. Git-Gutter поддерживает это сейчас. Команда названа
git-gutter:stage-hunk
.источник
Как упоминалось ранее, git-gutter - это расширение, предназначенное для отображения информации о git непосредственно в вашем файле и работы с ней, тогда как magit фокусируется на работе с diff.
Эта функция не планируется для git gutter в ближайшее время ( https://github.com/syohex/emacs-git-gutter/issues/91 )
Тем не менее, emacs lisp хорошо подходит для того, чтобы вытереть его (пройтись по кусочкам в регионе и постепенно убрать их). Попробовав это сам, это был почти тот случай, единственной проблемой было то, что git-gutter запускает фоновый процесс после того, как вы установили блок, и не ждет его завершения, поэтому мне пришлось добавить немного хакерской магии, чтобы справиться с этим.
Следующая функция emacs lisp должна делать то, что вы хотите. Возможно, вы захотите связать его с некоторыми клавишами.
источник