Эта функция называется insert-last-word. Вы можете ее забиндить штатными средставами. Например, для ZSH и insert mode:
bindkey -M viins "^[." insert-last-word
Мало кто знает, что cd можно передать два аргумента, тогда это работает как replace. Например:
$ pwd
/home/me/project/beta/app/controllers
$ cd beta production
$ pwd
/home/me/project/production/app/controllers
Readline и zle (навигация в консоле) используют те же комбинации клавиш, что и emacs.
Ctrl-p — предыдущая комманда (previous)
Ctrl-n — следующая комманда (next)
Meta-backspace (meta это обычно alt) — удалить слово.
Meta-b — на слово назад (backward)
Meta-f — на слово вперед (forward)
И так далее, намного удобнее, чем использовать стрелки, если вы умеете печатать вслепую. www.bigsmoke.us/readline/shortcuts
Бонус:
Meta-. (dot) — последний аргумент предыдущей комманды, очень полезно если вы выполняете несколько комманд на одном и том же файле с длинным путем, например.
Кстати, на маке C-p и С-n работает во многих приложениях: поиск в омнибаре Chrom'а, редактирование в Skype, Alfred, etc.
У вас самая лучшая читалка в мире, спасибо большое! Но даже в ней есть недостатки — очень не хватает поиска по книгам, а еще я заметил довольно неприятный баг, когда служебные страницы (содержание, сноски) поворачиваются даже если выключена опция «Autorotation».
Я соглашусь, что это дело вкуса и «правильного» ответа здесь нету, но мне, как участнику олимпиад, не очень нравятся подобные формулировки; они только запутывают и попусту тратят время. Например, мне удобно в начале соревнования пробежаться по всем заданиям и сразу решить, ход выполнения каких я примерно представляю, а над какими придется подумать, и соответственно распределить свое время. Вот вам мой вариант первой задачи:
Найдите минимальную площадь, занимаемую тремя заданными прямоугольниками, если они могут пересекаться и поворачиваться на угол, кратный 90°.
Заметьте, насколько сократился объем и время, необходимое для понимания.
Но вы же понимаете, что участники читают условия не для развлечения? И в состоянии сознания, нацеленном на построение некой логической модели, скорее всего, не оценят всей виртуозности метафор и глубины сюжета.
Как раз сегодня писал нечто похожее. Жаль, вы просто захардкодили значения клавиш — не будет работать для других раскладок.
В GTK для кнопок есть понятия keyval и hardware_keycode. Значение keyval разное для «f» и «а», например; hardware_keycode же не меняется при переключении раскладок. Возможно, нечто похожее есть и для XKB?
И еще. Можно ли во время взаимодействия с процессом смотреть какой код сейчас исполняется? С паузой на каждую строку, как положено.
Я почему спрашиваю: есть программа, которая на определенное событие умеет только прогрывать wav файл, хотелось бы научить ее пищать PC Speaker'ом.
Microsoft Symbol Server показывает названия функций для всех программ, или только для тех, которые написаны Microsoft? Мне кажется, это странно, что из скомпилированной программы можно вынуть человекочитаемые название — разве это не избыточная информация?
Очень рекомендую попробовать. Я тоже долго сопротивлялся, но теперь люблю его всей душой. Например, вместо cd dev/cpp/project
можно сделать так: d/c/p
И еще много всего интересного.
bindkey -M viins "^[." insert-last-word
$ pwd
/home/me/project/beta/app/controllers
$ cd beta production
$ pwd
/home/me/project/production/app/controllers
wiki.bash-hackers.org/internals/shell_options#histverify
Ctrl-p — предыдущая комманда (previous)
Ctrl-n — следующая комманда (next)
Meta-backspace (meta это обычно alt) — удалить слово.
Meta-b — на слово назад (backward)
Meta-f — на слово вперед (forward)
И так далее, намного удобнее, чем использовать стрелки, если вы умеете печатать вслепую. www.bigsmoke.us/readline/shortcuts
Бонус:
Meta-. (dot) — последний аргумент предыдущей комманды, очень полезно если вы выполняете несколько комманд на одном и том же файле с длинным путем, например.
Кстати, на маке C-p и С-n работает во многих приложениях: поиск в омнибаре Chrom'а, редактирование в Skype, Alfred, etc.
Найдите минимальную площадь, занимаемую тремя заданными прямоугольниками, если они могут пересекаться и поворачиваться на угол, кратный 90°.
Заметьте, насколько сократился объем и время, необходимое для понимания.
В GTK для кнопок есть понятия keyval и hardware_keycode. Значение keyval разное для «f» и «а», например; hardware_keycode же не меняется при переключении раскладок. Возможно, нечто похожее есть и для XKB?
Я почему спрашиваю: есть программа, которая на определенное событие умеет только прогрывать wav файл, хотелось бы научить ее пищать PC Speaker'ом.
cd dev/cpp/project
можно сделать так:
d/c/p
И еще много всего интересного.
gist.github.com/shockone/5255331