Модификация поведения emacs forward-word / backward-ward (как в vi / vim) - PullRequest
10 голосов
/ 14 октября 2010

Каков был бы самый простой способ иметь такое же поведение, как в слове «назад и вперед»? В vim, когда вы нажимаете «w», он перемещает курсор на одно слово вперед, где слово состоит из последовательности букв, цифр и подчеркиваний или последовательности других непустых символов, разделенных пробелом (пробелы, табуляции, EOL). В emacs, с другой стороны, он пропускает до конца следующего слова, и слово определяется для режима в таблице синтаксиса.

Например: наличие курсора в начале следующей строки показывает, куда vim помещает курсор при выполнении операции forward-word ("w"):

opt1.arg = opt2.arg
^   ^^   ^ ^   ^^  ^

В Emacs это похоже на:

opt1.arg = opt2.arg
^   ^   ^      ^   ^

Это действительно зависит от личных предпочтений, но мне больше нравится стиль vim, и мне было интересно, как проще всего это сделать в emacs. Думаю, я не одинок, кто переключился с vim на emacs, так что, возможно, у кого-то уже есть решение, в идеале для kill-word и backward-kill-word: :)

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

Ответы [ 3 ]

6 голосов
/ 15 октября 2010

Вы можете использовать 'viper-forward-word

(require 'viper)
(global-set-key (kbd "M-f") 'viper-forward-word)
(global-set-key (kbd "M-b") 'viper-backward-word)
1 голос
/ 14 октября 2010

В основном дубликат это , который гласит:

(require 'misc)

Затем свяжите любые клавиши, которые вы хотите forward-to-word и backward-to-word.Для убийства создайте несколько простых функций, которые обертывают эти функции и убивают.

0 голосов
/ 05 марта 2015

Я не знаю, почему был удален ответ jpkotta, но здесь он снова:

У меня есть второстепенный режим, который изменяет текстовые команды для работы с изменениями синтаксиса (а также CamelCaseSubwords). Это может быть слишком мелкозернистым для некоторых вкусов, но я нахожу, что я в основном когда-либо использую односимвольное движение.

https://bitbucket.org/jpkotta/syntax-subword

@ модов, я не знаю, почему этот ответ будет удален, поэтому, если вы решите удалить этот ответ, я был бы признателен за объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...