update to top
authorPeng Li <seudut@gmail.com>
Thu, 23 Jul 2015 05:40:19 +0000 (13:40 +0800)
committerPeng Li <seudut@gmail.com>
Thu, 23 Jul 2015 05:40:19 +0000 (13:40 +0800)
emacs.d/.gitignore
emacs.d/config/init-color-theme.el
emacs.d/config/init-evil.el
emacs.d/config/init-key-binding.el
emacs.d/config/my-packages.el
emacs.d/init.el
scripts/aa.pl [new file with mode: 0755]
scripts/ip.pl [new file with mode: 0755]
scripts/update_cpve.pl [new file with mode: 0755]

index f9baf0b..bbabeb3 100644 (file)
@@ -13,3 +13,4 @@ recentf
 projectile-bookmarks.eld
 config/init-my-theme-2.el
 config/my-color-theme.el
+\#*
\ No newline at end of file
index cb50ec0..0f45336 100644 (file)
@@ -20,7 +20,7 @@
 
 ;;; this variable should equal as height in mode-line
 (custom-set-variables
- '(powerline-text-scale-factor 0.74)) ;; 100/140
+ '(powerline-text-scale-factor 0.85)) ;; 100/140
 
 (custom-set-faces
 ;;; '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil :height 0.8 ))))
   (concat (replace-regexp-in-string "[<>]" "" (powerline-evil-tag)) " ")
   )
 
+;; -----------------------------------------------------------------------------
+
+;; -----------------------------------------------------------------------------
+;; |evil| buffer_name | major-mode | vc |            | position | pwd | time |
+;; -----------------------------------------------------------------------------
+;;
+;; ToDo:
+;; position and pwd only shows in some mode, such as programming mode
+;; using workgroup instead of pwd
+;; some other modes such as eshell, package, help, don't need the posittion and
+;; pwd
+;;
+
+;; -----------------------------------------------------------------------------
+
 (defun powerline-ha-theme ()
   "A powerline theme that removes many minor-modes that don't serve much purpose on the mode-line."
   (interactive)
                         (rhs
                             (list
                                 (funcall separator-right face1 mode-line)
+                               ;;  position
                                 (powerline-raw (concat "%3c, %l/" (format "%d" (count-lines (point-min) (point-max))) " %4p ") mode-line)
                                                (funcall separator-right mode-line face-blue)
-                                               (powerline-raw " [" face-blue)
-                                               (powerline-raw (powerline-format-default-directory default-directory) face-blue )
-                                               (powerline-raw "] " face-blue)
+                               ;; pwd/workgroups
+                               (powerline-raw (concat " [" (powerline-format-default-directory default-directory) "] ") face-blue )
                                                (funcall separator-right face-blue face1)
+                                ;; date and time
                                            (powerline-raw (format-time-string " %m-%d") face1 'r)
                                 (funcall separator-right face1 face-yel)
                                            (powerline-raw (format-time-string " %I:%M %p %a ") face-yel 'r)))
index bd9b748..235dd34 100644 (file)
@@ -2,24 +2,48 @@
 ;;---------------------------------------------------------------------------------------
 ;; evil
 ;;
+
+(require 'evil)
+(defalias 'evil-insert-state 'evil-emacs-state)
+;; C-o C-o switch to normal mode, defined in config/init-key-binding.el
+;;;(global-set-key (kbd "C-o C-o") 'evil-normal-state)
+
+;;https://github.com/toumorokoshi/yt.rc/blob/master/emacs/my-evil.el
+;; let's disable keymaps we don't want.
+;; basically, anything that uses C or M
+(define-key evil-visual-state-map "\C-w" nil)
+;(define-key evil-normal-state-map (kbd "M-.") nil)
+(define-key evil-normal-state-map "\C-t" nil)
+(define-key evil-normal-state-map "\C-p" nil)
+(define-key evil-normal-state-map "\C-n" nil)
+(define-key evil-normal-state-map "\C-k" nil)
+(define-key evil-normal-state-map "\C-l" nil)
+(define-key evil-normal-state-map "\C-k" nil)
+(define-key evil-normal-state-map "\C-j" nil)
+(define-key evil-normal-state-map "\C-o" nil)
+
+
 (global-evil-leader-mode)
 (evil-leader/set-leader ";")
 (evil-leader/set-key "e" 'find-file)
+(evil-leader/set-key "f" 'recentf-ido-find-file)
 (evil-leader/set-key "b" 'switch-to-buffer)
 (evil-leader/set-key "w" 'evil-write)
 
-;; TODO: change cursor to next windows
 (evil-leader/set-key "s" 'split-window-below)
 (evil-leader/set-key "v" 'split-window-right)
 (evil-leader/set-key "q" 'delete-window)
 
-(require 'evil)
-;(setq key-chord-two-keys-delay 0.5)
+(setq key-chord-two-keys-delay 0.5)
 (key-chord-define evil-insert-state-map "jj" 'evil-normal-state)
+(key-chord-define evil-emacs-state-map "jj" 'evil-normal-state)
+
 (key-chord-mode 1)
+
 (define-key evil-normal-state-map [escape] 'keyboard-quit)
 (define-key evil-visual-state-map [escape] 'keyboard-quit)
-;(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
+
+;(define-key minibuffer-local-map [jscape] 'minibuffer-keyboard-quit)
 ;(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
 ;(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
 ;(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
@@ -27,7 +51,8 @@
 
 
 ;; cursor shape
-(setq evil-emacs-state-cursor '("red" box))
+;(setq evil-emacs-state-cursor '("red" box))
+(setq evil-emacs-state-cursor '("red" bar))
 (setq evil-normal-state-cursor '("green" box))
 (setq evil-visual-state-cursor '("orange" box))
 (setq evil-insert-state-cursor '("red" bar))
@@ -38,8 +63,8 @@
                   (nrepl-mode . insert)
                   (pylookup-mode . emacs)
                   (comint-mode . normal)
-                  (shell-mode . insert)
-                  (git-commit-mode . insert)
+                  (shell-mode . emacs)
+                  (git-commit-mode . emacs)
                   (git-rebase-mode . emacs)
                   (term-mode . emacs)
                   (help-mode . emacs)
index 83d91c1..9b1403d 100644 (file)
@@ -45,7 +45,9 @@
 ;;
 (global-unset-key "\C-o")
 ;;(global-set-key (kbd "C-o C-o") 'keyboard-quit);; same as C-g to quit
-(global-set-key (kbd "C-o C-o") 'fiplr-find-file)
+;;; c-o c-o swith to normal mode 
+(global-set-key (kbd "C-o C-o") 'evil-normal-state)
+;;(global-set-key (kbd "C-o C-o") 'fiplr-find-file)
 (global-set-key (kbd "C-o C-f") 'ido-find-file)
 (global-set-key (kbd "C-o C-n") 'recentf-ido-find-file)
 (global-set-key (kbd "C-o C-j") 'ido-switch-buffer)
index 65d0cdc..5977545 100644 (file)
@@ -51,7 +51,9 @@
     recentf-ext
     linum-relative
     jekyll-modes
+    evil-escape
     workgroups2
+    highlight-current-line
   ) "a list of packages to ensure are installed at launch.")
 
 (require 'cl)
index 642bbb7..db66bf7 100644 (file)
@@ -15,7 +15,7 @@
 (add-to-list 'default-frame-alist '(width  . 120))
 (add-to-list 'default-frame-alist '(height . 40))
 ;(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-12:weight:light" ))
-(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-14" ))
+(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-12" ))
 (setq inhibit-startup-message t)
 
 (put 'set-goal-column 'disabled nil)
@@ -27,7 +27,6 @@
 
 
 (add-to-list 'auto-mode-alist '("emacs\\'" . emacs-lisp-mode))
-(fringe-mode 0)
 
 
 
 ;; elscreen should be placed begin of https://github.com/knu/elscreen/issues/6
 ;(elscreen-start)
 ;(require 'init-elscreen)
+;(require 'elscreen)
+;(custom-set-faces
+; '(elscreen-tab-current-screen-face ((t (:background "Yellow" :foreground "black"))))
+; '(elscreen-tab-other-screen-face ((t (:background "gray22" :foreground "black")))))
+
+
 (require 'init-color-theme)
 
 
 
 (require 'init-key-binding)
 
-(require 'linum-relative)
 (winner-mode 1)
 
 (global-set-key (kbd "C-c C-l") 'winner-redo)
 ;(require 'eyebrowse)
 ;(eyebrowse-mode t)
 
-(require 'workgroups2)
-;;;;(workgroups-mode 1)
 
 
 ;;(require 'minibuffer-line)
 ;        (insert " "))
 ;      (insert (format-time-string "%m-%d  %I:%M %p %a ")))))
 
+
+
+
+;;; set font size of minibuffer
+;;;; http://stackoverflow.com/questions/7869429/altering-the-font-size-for-the-emacs-minibuffer-separately-from-default-emacs
+(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup)
+(defun my-minibuffer-setup ()
+       (set (make-local-variable 'face-remapping-alist)
+          '((default :height 120))))
+
+
+
+(add-hook 'minibuffer-setup-hook
+          (lambda ()
+            (make-local-variable 'face-remapping-alist)
+            (add-to-list 'face-remapping-alist '(default (:background "green")))))
+
+
+
+
+(require 'evil-escape)
+;(setq-default evil-escape-delay 0.2)  
+;(setq evil-escape-excluded-major-modes '(dired-mode))
+;(setq-default evil-escape-key-sequence "jj")
+;(evil-escape-mode 1)
+
+
+;; ---------------
+;; recent file
+(require 'recentf)
+(recentf-mode)
+;(setq recentf-max-menu-items 100)
+
+;; http://www.emacswiki.org/emacs/RecentFiles
+(defun recentf-ido-find-file ()
+  "Find a recent file using Ido."
+  (interactive)
+  (let ((file (ido-completing-read "Choose recent file: " recentf-list nil t)))
+    (when file
+      (find-file file))))
+
+
+
+;; http://stackoverflow.com/questions/11484225/fix-an-auto-complete-mode-and-linum-mode-annoyance
+(ac-linum-workaround)
+
+
+;; ---------------------------------
+;; linum-relative
+
+(require 'linum-relative)
+
+(custom-set-variables
+ '(fringe-mode (quote (4 . 0)) nil (fringe)))
+
+;; maybe better to fix the size of line number rather scaled 0.8
+;; https://github.com/howardabrams/dot-files/blob/master/emacs.org
+(custom-set-faces
+ '(highlight-current-line-face ((t (:background "gray22"))))
+ '(linum ((t (:background "#000000" :foreground "gray40" :height 0.8 :slant italic :weigth light))))
+ '(linum-relative-current-face ((t (:inherit linum :foreground "Yellow" :weight light :height 0.8)))))
+
+
+;; enable linum-relative in programming mode
+;https://github.com/howardabrams/dot-files/blob/master/emacs.org
+(add-hook 'prog-mode-hook 'linum-mode)
+
+
+;; hight current line
+(require 'highlight-current-line)
+(highlight-current-line-on t)
+
+
+
+;(defun pl-fringe-mode ()
+;  "jfoewoif"
+;  (if linum-mode
+;      (fringe-mode '(4 . 0))
+;    (fringe-mode '(0 . 0))))
+
+
+;(add-hook 'eshell-mode-hook 'pl-fringe-mode)
+;(add-hook 'prog-mode-hook 'pl-fringe-mode)
+
+
+
+
+
+(require 'workgroups2)
+
+
+(setq wg-prefix-key (kbd "C-c z"))
+(setq wg-session-file "~/.emacs.d/.emacs_workgroups")
+(setq wg-mode-line-display-on t)          ; Default: (not (featurep 'powerline))
+(setq wg-flag-modified t)                 ; Display modified flags as well
+(setq wg-mode-line-decor-left-brace "["
+      wg-mode-line-decor-right-brace "]"  ; how to surround it
+      wg-mode-line-decor-divider ":")
+;(workgroups-mode 1)
+
diff --git a/scripts/aa.pl b/scripts/aa.pl
new file mode 100755 (executable)
index 0000000..2826f06
--- /dev/null
@@ -0,0 +1,2 @@
+#!/usr/bin/perl -w
+chdir '/Users/peli3/JCC/ecc-p2p' or die ": $!";
diff --git a/scripts/ip.pl b/scripts/ip.pl
new file mode 100755 (executable)
index 0000000..e4634ac
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+#
+#open IFCONF, 'ifconfig | grep "inet .*broadcast" |' or die 'haha';
+#while(<IFCONF>)
+#{
+##    print $_;
+#}
+#
+#my @cc = split /\s+/, `ifconfig | grep "inet .*broadcast"`;
+#my $aa =  `ifconfig | grep "inet .*broadcast"`;
+#$_ = $aa;
+#print $aa;
+#my $aa =~ m/([0-9]{1,3}\.){3}[0-9]{1,3}/;
+#print $1;
+my $ff = (split / /, `ifconfig | grep "inet .*broadcast"`)[0];
+print  "==||" . $ff . "==\n";
+
+
+
diff --git a/scripts/update_cpve.pl b/scripts/update_cpve.pl
new file mode 100755 (executable)
index 0000000..ab2360a
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use Getopt::Std;
+
+my %options = ();
+getopts("n", \%options);
+print "-n $options{n}\n" if defined $options{n};
+
+my $ip = (split / /, `ifconfig | grep "inet .*broadcast"`)[1];
+
+if($options{n})
+{
+    print "==== don't build CPVE ======\n";
+}
+else 
+{    
+    print "building cpve\n";
+    chdir '/Users/peli3/CPVE/cpve_trunk' or die ": $!";
+    !system "scons arch=x86_64 platform=darwin debug=True -j16 osxversion=10.10"    or die "building CPVE failed : $!";
+
+    chdir '/Users/peli3/JCC/ecc-p2p' or die ": $!";
+    print "remove cpve libs\n";
+    !system "rm -rf ./contrib/cpve/lib/darwin/x86_64/*"     or die "remove libs failed : $!";
+
+    print "copy cpve libs\n";
+    !system "/bin/cp -r /Users/peli3/CPVE/cpve_trunk/target/dist/lib/darwin/x86_64/* ./contrib/cpve/lib/darwin/x86_64/"     or die "copy libs failed: $!";
+
+}
+
+print "building ecc\n";
+!system "python runSconsBuild.py JabberMac64Bit  -j 16  -t no --early_cpve"     or die " building ECC failed : $!";
+
+print "copy bin-s bin-c\n";
+###system "rm -rf bin-s binn-c";
+!system "/bin/cp -r out/bin ./bin-c" or die "$!";
+!system "/bin/cp -r out/bin ./bin-s" or die "$!";
+
+print "copy config files\n";
+!system "/bin/cp ./sss.txt  ./bin-s/cucm-credentials.txt" or die ": $!";
+!system "/bin/cp ./ccc.txt  ./bin-c/cucm-credentials.txt" or die ": $!";
+
+print "add p2p server ip\n";
+open CONF, ">>", './bin-c/cucm-credentials.txt' or  die "error $!";
+#print CONF "P2P_SERVER_IP=" . &get_local_ip . "\n";
+print CONF "P2P_SERVER_IP=" . $ip . "\n";
+close CONF;
+
+
+print "####### DONE #######\n";
+
+#sub get_local_ip{
+#    my @cc = (split / /, `ifconfig | grep "inet .*broadcast"`)[1];
+##    @cc[1]; ## return value
+##    return @cc[1];
+#}
+