LINUX.ORG.RU
ФорумTalks

Ctrl+Del в GUI текстовом редакторе

 , , ,


0

1

Менянедавно жутко взбесил тот факт, что Sublime Text по Ctrl+Del удалил не только пробел а еще и токен за ним. То есть при 2+ пробелов редактор удаляет только пробелы (до лексическиого токена) а если за курсором стоит только один пробел, то удаляет его вместе с токеном.

Видел еще редакторы, которые по умолчанию токен удаляют вместе с пробелами (напр. редактор в SQL Developer). По мне — жутко неудобно.

Вот Kate по Ctrl+Del удаляет только пробелы, кроме случая, когда под крусором стоит токен — в таком случае удаляет токен с пробелами за ним. И я считаю это правильным.

Не знаю, как там дело обстоит с консольными редакторами. Наверняка там всё проще: другие сочетания клавиш и чётко-определённые действия.

Но вопрос вот в чём: какая же (идеологически) правильная логика работы Ctrl+del?

Emacs

Но вопрос вот в чём: какая же (идеологически) правильная логика работы Ctrl+del?

Действительно, какая же правильная логика работы Ctrl+Del? Никогда не нажимал.

Camel ★★★★★
()

Есть del — удаляет символ над курсором
Есть backspace — удаляет символ перед курсором и смещает курсор на одну позицию.
Всё остальное — на откуп авторам редакторов.
А уж говорить про «идеологию» тут и вовсе не приходится. Это просто кнопки. Какая такая идеология?

Stahl ★★☆
()

Это для удобства сделано. Если между токенами всегда стоит пробел, то удобно удалять пробел с токеном вместе, ведь все равно пробел удалять.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от Stahl

автор видимо хочет чтобы действие выполняется ровно одним способом и наоборот.

например, такие дефолтные обои, чтобы можно было не менять (OSX), или чтобы они менялись сами из истинно верного набора (Windows 8)

stevejobs ★★★★☆
()

не используй проприетарщину

xsektorx ★★★
()
Ответ на: комментарий от stevejobs

Может тогда автору съездить в Северную Корею? Там, новость проскакивала, регламентуруют даже причёску у студентов — несколько мужских и чуть больше бабских. Х.з зачем, но...

Stahl ★★☆
()
Ответ на: комментарий от Stahl

А уж говорить про «идеологию» тут и вовсе не приходится. Это просто кнопки. Какая такая идеология?

Это удобство. Мне кажется, что удалять токен с пробелами спереди — неправильно. Или наоборот: удалять пробелы под курсором очень удобно по Ctrl+Del. Однако бесит, когда ничаянно еще и токен пропадает. Бывает даже, что токен на пару строчек ниже.

KennyMinigun ★★★★★
() автор топика
Ответ на: комментарий от abraziv_whiskey

Если между токенами всегда стоит пробел, то удобно удалять пробел с токеном вместе, ведь все равно пробел удалять.

Да, но визуально сложно отличить один пробел от двух. А поведение отличается. Тут развечто подсветку пробелов включать... Но она тоже напрягает.

Я думаю, что для такой простой функции логика слишком сложная. Псевдокод:

I(\s{2,})(\w+) => delete $1
I(\s)(\w+)     => delete $1 $2
I(\w+)(\s+)    => delete $1 $2
* I — это позиция курсора при нажатии Ctrl+Del.
Казалось бы есть два вохможных варанта унификации: delete $1 и delete $1 $2. Но мне проще и быстрее два раза нажать Ctrl+Del, если я хочу удалить и токен и пробелы, чем потом Ctrl+Z и выделять удаляемую область вручную. Так что я бы выбрал делать delete $1 в любом случае.

KennyMinigun ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.