быстро перейти к месту предыдущего редактирования (аналог Shift+F5 в MS Word)

Автор leopoldus, 13 октября 2016, 13:32

0 Пользователи и 1 гость просматривают эту тему.

leopoldus

Подскажите, есть ли в LibreOffice более или менее функционально похожий аналог команды "Быстро перейти к месту предыдущего редактирования" из MS Word (дефолтный хоткей -  Shift+F5). Это бывает очень удобно, когда нужно несколько раз подряд переместить фокус ввода между двумя или тремя разными местами в документе, особенно если документ большой, а места редактирования разделены десятками страниц. Создавать каждый раз закладки - не вариант.

Да и не помогут закладки, если случайным нажатием на клавиши [Ctrll+Home] или [Ctrl+End] ты случайно запулил курсор в начало или конец документа (сколько раз со мной такое случалось!). В MS Word модно одним нажатием комбинации Shift+F5 легко вернуться в то место, которое редактировалось последним (и предпоследним тоже). А как это сделать в LibreOffce?

Спасибо!

mikekaganski

https://bugs.documentfoundation.org/show_bug.cgi?id=36449
https://bugs.documentfoundation.org/show_bug.cgi?id=102868

Цитата: leopoldus от 13 октября 2016, 11:32Да и не помогут закладки, если случайным нажатием на клавиши [Ctrll+Home] или [Ctrl+End] ты случайно запулил курсор в начало или конец документа

А это непонятно. Если закладка стоит, какая разница, куда Вы перешли? (Конечно, я понимаю, что закладки не так удобны, как "вернуться", но я просто не понял логику конкретного высказывания.)

Другой вариант: второе (третье) окно. Window -> New Window.

И, конечно, нельзя забывать про навигатор.
С уважением,
Михаил Каганский

leopoldus

Цитата: mikekaganski от 13 октября 2016, 12:17https://bugs.documentfoundation.org/show_bug.cgi?id=36449

Спасибо за ссылку, принял к сведению. Интересно, сколько лет пройдет от запроса фичи до внедрения...
Занятно, что запрос сделан только на прошлой неделе. Неужели до этого никому не приходила в голову необходимость такой штуки? Тем более, что в MS Word она существует уже лет 20-30, с самых первых версий.

Цитата: mikekaganski от 13 октября 2016, 12:17Другой вариант: второе (третье) окно. Window -> New Window.

Прошу прощения, не понял, каким образом создание одного или нескольких дополнительных окон поможет решить проблему. Буду признателен за краткое пояснение.

Цитата: mikekaganski от 13 октября 2016, 12:17И, конечно, нельзя забывать про навигатор.

Я знаю про навигатор. Но, как я понимаю, он больше подходит для перемещения по формальным элементам структуры, как, например, заголовки, страницы и т.п. От этого не очень много пользы, если нужно быстро перейти к конкретной строке произвольного абзаца.

Цитата: mikekaganski от 13 октября 2016, 12:17Да и не помогут закладки, если случайным нажатием на клавиши [Ctrll+Home] или [Ctrl+End] ты случайно запулил курсор в начало или конец документа.
ЦитироватьА это непонятно. Если закладка стоит, какая разница, куда Вы перешли?
Вы правы, я неудачно выразился. Если закладка уже стоит, то тогда, конечно, нет никакой разницы. Я имел в виду, что обычно случайное нажатие Ctrl+Home приходит неожиданно, не предупредив о своем визите заранее. Поэтому в том абзаце, который вы редактировали до этого случайного нажатия, скорее всего, нет закладки. А раз ее нет, то она не поможет вернуться обратно.

mikekaganski

Цитата: leopoldus от 13 октября 2016, 13:26Прошу прощения, не понял, каким образом создание одного или нескольких дополнительных окон поможет решить проблему. Буду признателен за краткое пояснение.

Я предлагал косвенные решения проблемы работы с несколькими далеко удалёнными участками одного документа. Конечно, это не то, о чём Вы спрашивали, но с учётом отсутствия необходимой возможности открытие двух окон одного документа в нужных разных местах и работа попеременно в этих окнах, вместо навигации через весь документ, может несколько облегчить задачу в некоторых случаях
С уважением,
Михаил Каганский

kompilainenn

Цитата: leopoldus от 13 октября 2016, 13:26Прошу прощения, не понял, каким образом создание одного или нескольких дополнительных окон поможет решить проблему. Буду признателен за краткое пояснение.
через этот пункт создаются окна с ОДНИМ и тем же документом, курсор в каждом из которых можно установить на свое место. При этом правки в любом из окон сохраняются в ОДНОМ и том же документе, который может быть сохранен из любого такого окна и при закрытии последнего окна с документом, если были правки, то он запросит сохранение обычным порядком
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Для быстрого перехода между 2-мя местами дока - создайте 2 окна и используйте Ctrl+Tab. Это работает во всех(!) офисных приложениях разных производителей.

А если нужно прыгать по трем местам - тогда да, закладка.

Можно, конечно, хранить в глобальной переменной позицию редактирования и обновлять ее макросом, прыгать на нее по Shift+F5, но задача кажется немного надуманной. Не стоит реализовывать свои привычки, многие из них сформировались случайно и недостойны стойкого запоминания.   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

leopoldus

Цитата: economist от 13 октября 2016, 17:10задача кажется немного надуманной. Не стоит реализовывать свои привычки, многие из них сформировались случайно и недостойны стойкого запоминания

Я понимаю вашу логику, но мне трудно с ней согласиться.   Как минимум, потому, что открытие документа во втором окне никак не решает проблему возврата к последнему месту редактирования при его потере из-за случайного нажатия комбинации клавиш (смотри мое первое сообщение в этом топике).
Кроме того, для использования двух окон нужен большой монитор (минимум FullHD), при меньшем экране будет крайне неудобно.

ЦитироватьМожно, конечно, хранить в глобальной переменной позицию редактирования и обновлять ее макросом, прыгать на нее по Shift+F5
Если у вас имеется техническое решение, то был бы признателен.

economist

leopoldus - вы бы попробовали сначала создать: Окно - Новое окно.
Эти окна видны "по-очереди", Alt+Tab, на любом мониторе.
В каждом окне - свой курсор, в месте редактирования. Океон может быть и больше.
Случайное смещение курсора невозможно, т.к. активно только одно.
Смещение курсора - это смещение точки редактирования. А разве это не логично? 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

rami

Цитата: leopoldus от 13 октября 2016, 11:32если случайным нажатием на клавиши [Ctrll+Home] или [Ctrl+End] ты случайно запулил курсор в начало или конец документа (сколько раз со мной такое случалось!). В MS Word модно одним нажатием комбинации Shift+F5 легко вернуться в то место, которое редактировалось последним (и предпоследним тоже). А как это сделать в LibreOffce?
Если вы редактировали, и курсор прыгнул к чёрту на рога, отмените последнее действие (редактирование) и оно появится в центре экрана, а затем верните это действие (сначала отменить, потом вернуть), в большинстве случаев это будет быстро и без проблем.

McAaron

Цитата: economist от 13 октября 2016, 22:08
Смещение курсора - это смещение точки редактирования. А разве это не логично?  
Вопрос обсуждался на форуме i-rs.ru во времена еще 3-го офиса, если даже не раньше.
Причина в том, что в парадигме офиса не протоколируются ни перемещение по документу фокуса ввода (установка текстового курсора), ни навигация (нажатия клавиш со стрелками, Home, End, PgDn, PgUp, и скроллинг). Поэтому не могут и откатываться. Именно отсюда и растут ноги у невозможности откатить нажатие Ctrl-Home или скроллинг. Не протоколируется все, что не приводит к изменениям, которые требуют коммита буфера. Мало того, игнорируются и не могут быть откатаны многие изменения в документе, которые, тем не менее, заставляют офис при выходе требовать сохранения документа. Т.е. Вы можете что серьезное поменять, что потребует сохранения документа, но откатить это не сможете.
Это не починить быстро, а скорее всего и невозможно.
Наверное  у конкурента то же самое, но это не является оправданием.

Ну и еще до кучи -- после закрытия документа стек откатов очищается и в только что открытом документе ничего из прошлых правок откатить не получится. С другой стороны, офис поддерживает тайл-перечень документов, поэтому напрашивается возможность там же устроить и сохранения стека откатов для каждого из закрытых документов.

economist

Но макросом можно получить объект Курсор, обработав событие изменение Текста (набор/удаление). У Питоньяка в "дополнениях" встречал, сейчас поищу. 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

rami

Цитата: McAaron от 14 октября 2016, 11:50поэтому напрашивается возможность там же устроить и сохранения стека откатов для каждого из закрытых документов.
А вы не сталкивались с нехваткой памяти для откатов одного единственного простого действия, но в большом документе ??? А если ещё сотню откатов в каждом документе запоминать :o

McAaron

Откаты не в документе запоминаются, а в совершенно другом месте -- в базе данных изменений. Вопрос в том, что именно там запоминается и как.
Есть информация, что запоминаются состояния, и запоминаются они в памяти в формате ODF. В этом формате нет возможности сохранить нажатия клавиш, события мыши и даже координаты вьюпорта. Ну уж зачем сохранять откаты в памяти, вместо того, чтобы это делать в файле, понять невозможно.

mikekaganski

Цитата: McAaron от 17 октября 2016, 11:11Есть информация, что запоминаются состояния, и запоминаются они в формате ODF -- в обменном формате. В этом формате нет возможности сохранить нажатия клавиш, события мыши и даже координаты вьюпорта

Не совсем так.
Сохраняются объекты, знающие, что нужно сделать, чтобы откатить каждый своё действие, и вернуть его.
Эти объекты можно добавлять по мере надобности, они никак с форматом не связаны и не сохраняются в файл.
Но если говорить о первоначальном предложении (иметь возможность вернуться в предыдущее место правки без отмен) - нужна отдельная база, и это тоже возможно. Но затратно.
С уважением,
Михаил Каганский

kompilainenn

Цитата: mikekaganski от 17 октября 2016, 11:29Но если говорить о первоначальном предложении (иметь возможность вернуться в предыдущее место правки без отмен) - нужна отдельная база, и это тоже возможно. Но затратно.
где-то в багзилле висит хотелка, чтобы при открытии документа курсор был установлен в то же самое место, которое он занимал при предыдущем закрытии документа. Это одного поля вещи, я так понимаю?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут