Используя VI ключей для редактирования команд оболочки в UNIX

Сделайте архив zip и разделите его с

zipsplit -n 4699996160 foo.zip

Я полагаю, что последние версии Windows имеют встроенную поддержку архивов zip. Если система получателя слишком стара, она может иметь Winzip или с 7 zip.

Если у Вас есть единственный файл, можно разделить его с split:

split -b 4589840k -d pieces- large_file.dat

На машине Windows, на командной строке (нажимают Win+R и тип cmd), соберите его с

copy pieces-aa + pieces-ab large_file.dat

28
24.10.2013, 17:28
6 ответов

Вы говорите о самой большой функции когда-либо!

Можно использовать команды vi для редактирования команд оболочки (и история команд) путем добавления этого к Вашему .bashrc файл:

set -o vi

Можно также выполнить ту команду из командной строки для влияния только на текущую сессию.

Если Вы не используете удар, substitue соответствующий емкостно-резистивный файл для Вашей оболочки.


Это позволяет Вам использовать команды vi для редактирования любой команды...

Можно также использовать j и k для перемещения через историю (после нажатия ESC).

Можно также использовать / (после удара ESC) для поиска старых команд.

Другими словами, для нахождения этого супердолго cp команда Вы сделали десять минут назад:

ESC/cpENTER

Затем можно циклически повториться посредством всех команд соответствия в истории с n и N.

Все это делает меня в 10 триллионов раз более продуктивным в командной строке!

31
27.01.2020, 19:39
  • 1
    ну, это действительно не использует vi, это использует команды клавиатуры vi-стиля для редактирования строки. –   13.07.2012, 22:00
  • 2
    Уверенный... Я предполагаю, что соответствующая терминология - это vi bindings in the shell самая большая функция, когда-либо изобретенная! –  jahroy 13.07.2012, 22:01
  • 3
    , который я переключил бы от emacs привязки до vi привязки, если бы был способ отобразить режим. Вы знаете о способе сделать это? –  iconoclast 20.07.2012, 00:58
  • 4
    Они, там способ связать jj с ESC поскольку мы обычно делаем в энергии? –  steveyang 20.07.2012, 07:55
  • 5
    @yangchenyun - Возможно, этот вопрос поможет с этим: stackoverflow.com/questions/844862 / …, я лично не связываю/изменяю ни одной из команд, таким образом, я не совсем уверен, что Вы спрашиваете. –  jahroy 20.07.2012, 08:07

При использовании удара как jahroy и зло otto уже ответили, можно использовать

set -o vi

заставить удар использовать команды редактирования vi-стиля.

После того как Вы сделали это, можно ввести Esc v для запуска редактора vi с временным файлом, содержащим копию текущей командной строки. Можно отредактировать команду, даже заменив его несколькими строками; когда Вы сохранили файл (:wq), оболочка выполнит отредактированные команды.

Если Вы предпочитаете

set -o emacs

можно использовать Ctl-XCtl-E, чтобы сделать то же самое. Это будет использовать Вашего предпочтительного редактора $EDITOR, не обязательно emacs.

(Лично, я использую vi (на самом деле энергия) для большей части моего редактирования, но я предпочитаю set -o emacs в оболочке; переключение в и из режима вставки является большим для редактирования файлов, но неловким для интерактивных команд. YMMV.)

12
27.01.2020, 19:39
  • 1
    Вы знаете способ возвратиться назад к нормальному vi-стилю предотвращения режима редактирования? Я не забываю успешно выполняться с Двусторонней Цифрой, но теперь не больше; что я пропускаю? –  piertoni 15.01.2017, 14:30
  • 2
    @piertoni: Делает set -o emacs не делают то, что Вы хотите? –  Keith Thompson 15.01.2017, 22:33
  • 3
    Да, Он действительно работает, я упустил суть, спасибо –  piertoni 17.01.2017, 10:53

Можно использовать set -o vi для изменения команд редактирования строки как @jahroy отправленный но можно думать fc команда (доступный в ударе и я думаю ksh, но вероятно не tcsh), который поместит предыдущую команду в редактора (FCEDIT или РЕДАКТОР, которого Вы, вероятно, установили на vi), и затем выполняет команду, когда Вы выходите из редактора. См. страницу справочника или help fc для получения дополнительной информации или просто испытывают его.

10
27.01.2020, 19:39
  • 1
    alias r='fc -e -' ценный псевдоним должен повторно выполнить предыдущие команды. fc самостоятельно порожденный в оболочке Korn, я верю. Можно указать команды числом (fc 123 129 к команде редактирования номера 123 - 129 в истории). Можно указать относительные числа (fc -10 -1 отредактировать последние 10 вводимых команд). Можно перечислить предыдущие команды с fc -l. Можно указать команду префиксом с r псевдоним (r make выполняет последний вызов make; делает r m если Вы не выполнили a mv команда, так как Вы в последний раз работали make, и т.д.). –  Jonathan Leffler 13.07.2012, 22:20

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

  1. Создает временный файл в /tmp и заполняет его с последний раз введенной командой
  2. После того, как редактор обычно выходит (с кодом выхода 0), он выполняет команду, найденную в том временном файле, и удаляет этот файл. Отредактированная версия сохраняется в истории как обычная команда (по крайней мере, в zsh). Это ничего не выполняет, если редактор выходит с кодом другой затем нуль (в энергии, это может быть достигнуто или уничтожением его или использованием :cquit).

Команда работает и в ударе и в zsh.

6
27.01.2020, 19:39

в Вашем терминале ввести export EDITOR=vi.

Сохранять эту настройку. поместите эту строку в файл ~/.profile

1
27.01.2020, 19:39
  • 1
    Это устанавливает Вашего редактора по умолчанию (для команд, которые обращают внимание на $EDITOR) к vi. Это не позволяет Вам отредактировать команды оболочки с vi (по крайней мере, не непосредственно). –  Keith Thompson 13.07.2012, 22:58
  • 2
    @KeithThompson Zsh к vi режиму редактирования, если $EDITOR содержит vi. Я думаю, что это - единственная оболочка, которая делает это. –  Gilles 'SO- stop being evil' 14.07.2012, 02:53

Действительно, это - на самом деле самая большая функция когда-либо. Существует больше хотя:

Создайте названный файл

.editrc

содержа строку

bind -v

Editline, библиотека лицензионной версии BSD, которая предоставляет подобные readline услуги. Это .editrc установит Ваши привязки клавиш на vi режим в оболочке командной строки MySQL или любое приложение, которое не использует readline.

Я стал несколько забывчивым с передачей лет, таким образом, мои .zshrc источники некоторые обертки для vi режима, чтобы показать мне, в каком режиме я нахожусь на командной строке. Это хорошо.

Я знаю в zsh, который можно ввести

bindkey -L

и получите список привязок клавиш. Я уверен, что удар должен иметь что-то подобное. Не все vi ключи связываются по умолчанию. Свяжите их, как Вы считаете целесообразным, и Вы прочь к гонкам.

5
27.01.2020, 19:39
  • 1
    Желание я мог upvote это 5 раз для vi привязки в MySQL! –  jahroy 21.07.2012, 01:32

Теги

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