Перемещение вперед слова в оболочке z

В zshell, как продвинуться слово, я могу установить-o vi и использовать vi формат. Есть ли способ продвинуться в zshell словом

14
задан snv 30 June 2014 в 11:07
поделиться

2 ответа

Виджет ZLE для перемещения вперед на одно слово - forward-word . Следовательно, вы можете использовать bindkey , чтобы привязать этот виджет к любой клавише, которую вы хотите.

Например,

$> bindkey ^O forward-word

позволит вам перейти на одно слово вперед при нажатии Ctrl-O . Обратите внимание, что ^ O на самом деле является вставкой Control в кавычках, за которой следует O .

12
ответ дан 1 December 2019 в 06:39
поделиться

Необходимо подключиться к сигналу drag-motion и изменить поведение по умолчанию, чтобы оно никогда не указывало до/после сброса:

def _drag_motion(self, widget, context, x, y, etime):
    drag_info = widget.get_dest_row_at_pos(x, y)
    if not drag_info:
        return False
    path, pos = drag_info
    if pos == gtk.TREE_VIEW_DROP_BEFORE:
        widget.set_drag_dest_row(path, gtk.TREE_VIEW_DROP_INTO_OR_BEFORE)
    elif pos == gtk.TREE_VIEW_DROP_AFTER:
        widget.set_drag_dest_row(path, gtk.TREE_VIEW_DROP_INTO_OR_AFTER)
    context.drag_status(context.suggested_action, etime)
    return True
-121--4460204-

Я просто понял, почему у меня было так много проблем - в MATLAB нельзя хранить последовательности разной длины Квадратные скобки объединяют последовательности различной длины в один символьный массив .

    >> a=['matlab','is','fun']

a =

matlabisfun

>> size(a)

ans =

     1    11

В символьном массиве каждый символ в последовательности считается одним элементом, что объясняет, почему размер 1X11.

Для хранения последовательностей различной длины в качестве элементов массива необходимо использовать фигурные скобки для сохранения в виде массива ячеек. В массивах ячеек каждая последовательность обрабатывается как отдельный элемент независимо от длины.

>> a={'matlab','is','fun'}

a = 

    'matlab'    'is'    'fun'

>> size(a)

ans =

     1     3
-121--2774024-

Командная строка zsh работает как emacs или как vi. если работает как vi, переведите ее в командный режим ( esc ) и введите w . Если он работает подобно emacs, используйте M-f .

Дополнительная информация доступна по адресу man zshzle .

15
ответ дан 1 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: