LINUX.ORG.RU

Backward kill word

 ,


0

1

Добрый день.

Нужен хоткей, который позволит удалять предыдущее слово одинаково в GUI приложениях и в neovim. Проблема в том, что в гуи везде для этого используется Ctrl+Backspace, а в vim’ах – Ctrl-w, который в gui приложениях закрывает вкладку.. Большинство терминалов из-за легаси странно обрабатывают последовательность Ctrl+Backspace, поэтому простой маппинг в виме не работает.

Может у кого-нибудь есть решение этой проблемы? gvim не предлагать, т.к. я перешел на neovim.

Ответ на: комментарий от Spoofing

Я не хочу перебиндивать ctrl+backspace для gui (тем более, что это xorg-only), нужно решение для вима. Возможно какой-то конкретный современный терминал это может.

Im_not_a_robot ★★★★★ ()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)

Хернёй ты занимаешься.

Я понимаю, перфекционизм и всё такое, но это так не работает. Либо выкидывай гуйню (и переползай в TUI-софт), либо выкидывай терминал (вотпрямсовсем).

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

Конечно, использовать в виме один хоткей, а в гуи – другой – идея просто замечательная. Должна работать как швейцарские часы. Она простая и в этом ее красота. Только вот привыкнув жать Ctrl-w в виме в гуи-приложениях (браузер/ide/редактор) ты будешь постоянно по ошибке закрывать текущую вкладку. А так идея отличная, я согласен.

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

Какой хоткей вредный? C-BS? Это полезный и логичный хоткей: BS удаляет символ назад, C-BS удаляет слово назад. Зачем от него отучиваться? Проблема в линуксовом терминале, в котором огромная куча говна из 70х и все работает «магическим образом».

Причем, в gnome-terminal хоткей C-BS работает в командной строке zsh, но не работает в vim.

Наверное я не буду пробовать xterm, т.к. использую gnome-terminal и он меня почти всем устраивает. Может там это и работает, но тогда мне придется вим запускать в отдельном окне с xterm и это не будет отличаться от использования neovim-qt. Да и судьба иксовых программ в свете вейланда туманна. Но все равно спасибо за ответ.

Im_not_a_robot ★★★★★ ()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)
Ответ на: комментарий от Im_not_a_robot

C-BS? Это полезный и логичный хоткей

Он вынуждает снимать руку с базовой линии или сильно вытягивать мизинец. Но привычка, ничего не поделаешь. C-w впрочем тоже неудобно и противоречит вимовской мнемонике, где w означает перемещение вперед, а не назад.

bread ()
Ответ на: комментарий от bread

Он вынуждает снимать руку с базовой линии или сильно вытягивать мизинец.

Если так рассуждать, то все клавиши кроме asdf и jkl; – неудобные :) Он находится на основной части клавиатуры и палец у меня туда попадает без проблем.

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

использовать в виме один хоткей, а в гуи – другой – идея просто замечательная.

Во-первых, у тебя по-другому не получится.
Попытка унифицировать хоткеи сделает из vim ущербную версию notepad++. А потом начнутся вопли про то, что vim отстой. Не ходи этой дорогой.

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

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 2)
Ответ на: комментарий от Im_not_a_robot

Речь идет об одном конкретном хоткее, который мне нужен для быстрого набора текста. На удаленных хостах или чужих компьютерах у меня такой задачи не стоит.

Речь идет о том, что конкретный хоткей - это только начало. Я тебе предлагаю посмотреть на проблему шире.

Короче, потом не ной что vim фигня, неудобен, чего-то не умеет и т. п.

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

Короче, потом не ной

Чувак, ты пришел в сугубо технический тред в соответствующем разделе с нравоучениями уровня толкс. Тебе нечего сказать по теме, поэтому просто помолчи.

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

Так работает

inoremap Ctrl-V Ctrl-BS <c-w> " надо набирать Ctrl-сочетания
inoremap <bs> <c-w>

Так работает иначе

inoremap <c-?> <c-w>

Т.е. у меня <c-h> == Backspace, а <bs> == Ctrl-Backspace. См. ещё :help :fixdel, тоже может помочь.

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

Странно, у меня в gnome-terminal не работает, хотя в неовиме Backspace дает ^H, а Ctrl-Backspace – . Такое ощущение, что в виме вообще Backspace не работает. Может проблема в неовиме, надо бы проверить.

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

Так, gnome-terminal может разные последовательности посылать для BS и C-BS и обычный вим может их использовать, C-BS в нем работает

inoremap Ctrl-V Ctrl-BS "

А в neovim – нет. Похоже надо сообщать о баге.

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

У меня в xterm Ctrl+Backspace == ^? и в виме он мапится отдельно от Backspace, который ^H.

Странно, у меня наоборот. И в xterm, и в urxvt. Это наверно не от эмулятора зависит, а от terminfo в конкретном дистре.

bread ()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от Im_not_a_robot

Чувак, ты пришел в сугубо технический тред в соответствующем разделе с нравоучениями уровня толкс.

Обсуждение подхода к решению проблемы - это сугубо технический разговор.

Ты ж уже сам должен видеть, что решения, которые предлагают, в каких-то терминалах работают, в каких-то нет. И еще будут проблемы - другие, позже. Никакие сомнения не зарождаются? Может ребята которые делали vim уже с этим уже столкнулись и учли?

Но если ты настаиваешь на том, чтобы кушать кактус в одиночестве, я умолкаю.

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 2)