Я сделал это! http://pastie.org/1073336
Прошу дополнять в том же формате, а то пока явно недостаток информации по Zsh на русском языке. Многие строчки в чужих .zshrc нифига не понятны.
Комментарии к этому .zshrc будут не только здесь, но и у меня в блоге.
Что-то нашёлся только один такой конфиг на сайтиге. Исправляем.
На днях закончил «причёсывание» своего .bashrc, посему выкладываю его на всеобщее обозрение дабы получить конструктивную критику и поделиться с народом.
Совсем не конфиг, зато к переименованой неделе ленивого админа подходит.
Преамбула: Наша фирма занимается разработкой/доработкой сайтов. Для крупный проектов заводим репу свинки, а мелкие(на которых по 1 человеку работает) каждый заливает на наш тестовый сервак по фтп.
Выкинул, потому что пытался найти в свое время, и понял что мало кто экспериментирует :) Конфиг - о создании "цепочек", любой нужной длинны, а не просто "в стиле емакс". В общем пофлудить выкинул ;-)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
;; List of modifier:
;; Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
;; Mod3 (CapsLock), Mod4, Mod5 (Scroll).
(define (first-binding)
"First binding"
(xbindkey '(Mod4 r) "gmrun")
; scr, area-scr, delay-scr
(xbindkey '(Print) "scrot -q 85 '%Y-%m-%d_%H:%M:%S.png' -e 'mv $f ~/Pictures/screenshot'")
(xbindkey '(Control Print) "scrot -s -q 85 '%Y-%m-%d_%H:%M:%S.png' -e 'mv $f ~/Pictures/screenshot'")
(xbindkey '(Mod1 Print) "scrot -d 5 -q 85 '%Y-%m-%d_%H:%M:%S.png' -e 'mv $f ~/Pictures/screenshot'")
(xbindkey '(XF86AudioMute) "amixer -q sset Headphone toggle")
(xbindkey '(Mod4 equal) "amixer -q sset Headphone 2+ unmute")
(xbindkey '(Mod4 minus) "amixer -q sset Headphone 2- unmute")
(xbindkey-function '(Mod4 x) second-binding))
; win+x
(define (reset-to-first-binding)
"reset to first binding"
(ungrab-all-keys)
(remove-all-keys)
(first-binding)
(grab-all-keys))
(define (second-binding)
"Second binding"
(ungrab-all-keys)
(remove-all-keys)
; chains
(xbindkey-function 'c third-binding) ; ch, cl
(xbindkey-function 'f third-binding) ; fm, fx
; launchers
(xbindkey-function 'm
(lambda ()
(run-command "gnome-terminal --window-with-profile=Mcabber")
(reset-to-first-binding)))
(xbindkey-function 'g
(lambda ()
(run-command "gcalctool")
(reset-to-first-binding)))
(xbindkey-function '(control g) reset-to-first-binding)
(grab-all-keys))
; chains от win+x
(define (reset-to-second-binding)
"reset to second binding"
(ungrab-all-keys)
(remove-all-keys)
(second-binding)
(grab-all-keys))
(define (third-binding)
"Second binding"
(ungrab-all-keys)
(remove-all-keys)
; C
(xbindkey-function 'h
(lambda ()
(run-command "chromium-browser")
(reset-to-first-binding)))
(xbindkey-function 'l
(lambda ()
(run-command "clementine")
(reset-to-first-binding)))
; F
(xbindkey-function 'm
(lambda ()
(run-command "pcmanfm")
(reset-to-first-binding)))
(xbindkey-function 'x
(lambda ()
(run-command "firefox")
(reset-to-first-binding)))
(xbindkey-function '(control g) reset-to-second-binding)
(grab-all-keys))
(first-binding) |
Т.е. win+x а дальше fm - файлманагер, fx - огнелис, ну и понятно.
Внутри xcompose, zsh и screen…
Поделюсь, раз такое дело:
Глядя на наплыв .vimrc в ленте не могу не поучаствовать.
Вот мой ~/.emacs:
1
2
3
|
;; i'm fine with defaults (;
|