Создать пространство подкачки:
sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=1024
(# bs*count = file size)
sudo mkswap /tmp/swapfile
sudo chmod 600 /tmp/swapfile
(# for security reasons)
sudo swapon /tmp/swapfile
free -h
Удалить:
swapoff /tmp/swapfile
rm -f /tmp/swapfile
Оберните его в простой сценарий оболочки и используйте переменные оболочки для параметров, которые вы хотите настроить:
#!/bin/sh
param_c=340
./myprogram 1 2 "$param_c" \
4 5 6 7
Кажется, вы используете bash
, поэтому вы можете использовать функцию readline
, которая устанавливает переменную READLINE_POINT
, которая является положение текстового курсора, в нужный столбец. Дешевый способ найти столбец состоит в том, чтобы выделить (мышью) весь текст от начала строки до нужной позиции и использовать xsel
, чтобы прочитать этот выбор.
Например, чтобы попробовать, привяжите символ !
в функцию gotocolumn
:
$ bind '-x "!":gotocolumn'
$ gotocolumn(){ local x=$(xsel);READLINE_POINT=${#x}; }
Вызовите длинную строку, выберите несколько символов в начале, введите !
и курсор перемещается.
Я только что заметил, что перемещение текстового курсора в положение мыши на самом деле встроено в xtermс функцией readline-button
и просто требует подходящей привязки. Например, запустите
xterm -xrm 'XTerm.VT100.translations: #override\
Mod4 <Btn1Down>: readline-button()\n'
, затем, когда вы щелкнете левой кнопкой мыши с клавишей Meta (или Super) над символом в строке ввода, xterm генерирует левую или правую клавишу до тех пор, пока курсор не выровняется.
Точно так же urxvtимеет встроенное расширение perl (см. man urxvt-readline
), включенное по умолчанию, с привязкой Shift и левой кнопки.
Есть несколько способов сделать то, что вы хотите.
Современные (и самые популярные) оболочки, такие как bash и zsh, используют GNU readline в качестве входной библиотеки. См. man 3 readline, раздел Редактирование команд. Есть два режима: emacs и vi.
set -o emacs
Ответ @sebasth охватывает эту часть.
CTRL+ P(или UP): Последняя команда
ALT+ B: Слово назад
ALT + F: Слово вперед
ALT+ D: Удалить следующее слово
ALT+ Backspace: Удалить предыдущее слово
CTRL+ A: начало строки
CTRL+ E: конец строки
set -o vi
Нажмите Iдля перехода в режим вставки и ESCдля перехода в командный режим. Перейдите в командный режим и затем:
K: Последняя команда
B: Слово назад
W: Слово вперед
DW: Удалить следующее слово
] DB: Удалить предыдущее слово
0: Начало строки
$: Конец строки
fc
вставит ваше последняя команда (вы также можете указать другую команду в своей истории) в вашем любимом редакторе (см. переменную $EDITOR). Команда будет запущена при выходе из редактора.
Когда командная строка становится все длиннее и длиннее, вы можете захотеть использовать настоящий редактор вместо строки чтения оболочки. В качестве бонуса вы можете сохранить его как файл сценария на вашем диске.
Использование ^before^after
позволяет заменить строку до
на после
.
Например:
abitbol@localhost $ echo 1 2 3 4 5 6 7
1 2 3 4 5 6 7
abitbol@localhost $ ^3^42
echo 1 2 42 4 5 6 7
1 2 42 4 5 6 7
В оболочке можно перемещать слово за раз:Alt + B перемещает курсор на одно слово назад, Alt + F перемещает на одно слово слово вперед. Alt + D удаляет слово после курсора. Дополнительные комбинации горячих клавиш для bash
описаны в руководстве .