Для дисциплины tty line ^W
удаляет предыдущее белое -разделенное пробелом слово .
В редакторе vi
в режиме вставки ^W
удаляет назад к началу первой последовательности альнумов или не -альнумов (в foo-+-bar.. baz
, сначала удаляет baz
, затем ..
, затем bar
, затем -+-
, затем foo
).
В редакторе emacs
^W
удаляет из позиции курсора до метки (, которую вы установили с помощью Ctrl+Пробел).
Некоторые строковые редакторы, такие как readline
(, используемые bash
, gdb
... ), zle
(, используемые zsh
), pdksh
в режиме vi
, ведут себя как vi
в этом отношении и в режиме emacs
ведет себя как дисциплина линии tty (, а неemacs
).
libedit
(используется оболочками BSD или (опционально )dash
), tcsh
, AT&T ksh
, в режиме emacs
ведет себя как emacs
, где ^W
удаляется до метки (изначально в начале буфера ).
Для удаления слова вперед в редакторе vi
вы должны сделать это в команде(нормальном)режиме с dw
для удаления в начало следующей последовательности номеров или не -alnums (или конец строки )и dW
для удаления в следующую последовательность не -пробелов (подвеска ^W
дисциплины tty line ).
В строковом редакторе emacs
Meta -D будет удаляться до конца следующей последовательности символов alnum. Аналогично ведут себя операторы движения слов(Meta -B , Meta -F ).
Редакторы командной строки
в режиме vi
ведут себя как vi
, но в режиме emacs
у вас есть две основные школы :школа tcsh
и школа ksh
.
Школа ksh
(readline
, ksh
,yash
)ведет себя в основном так же, как поведениеemacs
(fish
немного отличается тем, как она относится к не -alnum,не -пробельные символы в режимах emacs
и vi
).
В школе tcsh
(tcsh
, libedit
,zsh
)движения слов основаны на словах, разделенных пробелами -, поэтому в этом отношении они соответствуют дисциплине tty line ^W
.
В zsh
поведение настраивается с различными стилями слов для всех виджетов движения слов.
Для readline
вы можете получить tcsh
школу (и Мета -D удалить такое же слово, как Ctrl -W делает ), добавляя к вашему~/.inputrc
:
set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord
Или, с другой стороны, выровняйте ^W
по другому слову виджеты движения (ведут себя как Meta -Backscape)с:
set keymap emacs
"\C-W": backward-kill-word
О том, что такое Мета-ключ , см. там .
Я решил проблему и теперь отвечаю на свой вопрос.
Командаapt
не работает, если файл sources.list
поврежден. Таким образом, обходной путь для этой проблемы — отредактировать файл /etc/apt/sources.list
, выполнив следующую команду:
sudo nano /etc/apt/sources.list
Теперь перейдите к проблемной строке (строке 2 в моем случае )и добавьте #
в начале этой строки, чтобы закомментировать ее.
Введите Ctrl + X , затем y , чтобы сохранить и выйти. Затем запустите:
sudo apt update
Теперь все должно быть в порядке.