Могут ли метки vim указывать на символ, которому они изначально присвоены, а не на исходное расположение символа в строке/столбце?

Могут ли метки vim указывать на символ, которому они изначально присвоены, а не на исходное расположение символа в строке/столбце?

Можно ли сделать так, чтобы метки vim (например, mm) указывали на символ, которому они изначально присвоены, а не на исходное положение символа в строке/столбце?

Например, если я наберу mm на первой букве слова «политики» (строка 1, столбец 72) в примере предложения ниже, а затем удалю слово «записи» и затем наберу `m, мой курсор вернется в исходное положение.курсорпозиция (строка 1, столбец 72), которая сейчас является местоположением буквы «a» в слове «политики». Я понимаю, что это ожидаемое поведение vim, ноЯ бы хотел, чтобы `m вместо этого вернул меня к `p' политиков, даже если его расположение в строке/столбце изменилось.

Пример предложения:

10-дневная блокировка произошла после того, как были внесены анонимные изменения в политику и бизнес, а также после таких событий, как убийство Кеннеди.

Я нахожу желаемое поведение гораздо более полезным для того, как я пишу/редактирую (особенно при использовании Vim за пределами его изначальной цели кодирования). Viemu, плагин, который добавляет большую часть функциональности Vim в Word, обрабатывает знаки так, как я хочу. К сожалению, Viemu не является идеальным портом Vim, и я бы предпочел составлять весь текст (письма, эссе и т. д., а не только код) в Vim. Незнание того, как заставить Vim обрабатывать знаки нужным мне образом, является одной из главных причин, по которой я не использую его исключительно.

Заранее спасибо,

P.S. Это мой первый опыт публикации на stackexchange/superuser, поэтому, пожалуйста, простите меня, если я не следовал правильному формату/протоколу для задания вопроса, и, пожалуйста, поправьте меня.

решение1

Хотя отметки будут скорректированы для добавленных/удалённых строк, положение столбца — нет; в этом вы правы. Ваше желаемое поведение, безусловно, имеет множество преимуществ; я полагаю, оно просто ещё не реализовано, вероятно, из-за его сложности. (И это нарушит совместимость с vi и предыдущими версиями Vim, что не воспринимается легкомысленно.)

Хотя с помощью s можно подключиться к некоторым действиям редактирования :autocmd, в общем случае это невозможно (например, что-то вроде « :sневозможно перехватить»), поэтому эмулировать такое поведение в Vimscript будет сложно, и я не знаю ни о какой такой реализации.

Связанный контент