当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : Emacs 最大化和全屏的配置
帖子发表于 : 2007-06-29 22:13 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
将以下代码加入.emacs:

代码:
(global-set-key [f11] 'my-fullscreen)

;全屏
(defun my-fullscreen ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_FULLSCREEN" 0))
)

;最大化
(defun my-maximized ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
)
;启动时最大化
(my-maximized)



引用:
代码:
(defun my-maximized ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
)


应该改为:
代码:

;该函数用于最大化,状态值为1说明最大化后不会被还原
;因为这里有两次最大化 (分别是水平和垂直)
(defun my-maximized ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
(my-maximized)


最后由 kemean 编辑于 2007-08-05 22:02,总共编辑了 3 次


_________________
评价: 3.85% zuriaake2011
 
页首
 用户资料  
 
2 楼 
 文章标题 : 再贴一下完整的配置
帖子发表于 : 2007-06-29 22:18 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
再贴一下完整的配置,基本上是参照其它网友提供的改的:

代码:
;插件路径
(add-to-list 'load-path "/home/share/myemacs")
(add-to-list 'load-path "/home/share/myemacs/ecb")
(add-to-list 'load-path "/home/share/myemacs/xcscope")
(add-to-list 'load-path "/home/share/myemacs/cedet/common")


;字体设置
(set-default-font "YaHeiConsolas-13")
(set-fontset-font "fontset-default"
                  'unicode '("YaHeiConsolas-13" . "unicode-bmp"))
(setq default-frame-alist
      (append '((font . "YaHeiConsolas-13")) default-frame-alist))


;解决emacs shell 乱码
(setq ansi-color-for-comint-mode t)
(customize-group 'ansi-colors)
(kill-this-buffer);关闭customize窗口


;自定义按键
(global-set-key [f1] 'shell);F1进入Shell
(global-set-key [f5] 'gdb);F5调试程序
(setq compile-command "make -f Makefile")
(global-set-key [f7] 'do-compile);F7编译文件
(global-set-key [f8] 'other-window);F8窗口间跳转
(global-set-key [C-return] 'kill-this-buffer);C-return关闭当前buffer
(global-set-key [f10] 'split-window-vertically);F10分割窗口
(global-set-key [f11] 'delete-other-windows);F11 关闭其它窗口
(global-set-key [f12] 'my-fullscreen);F12 全屏
(global-set-key (kbd "C-,") 'backward-page);文件首
(global-set-key (kbd "C-.") 'forward-page);文件尾


;普通设置
(setq inhibit-startup-message t);关闭起动时闪屏
(setq visible-bell t);关闭出错时的提示声
(setq make-backup-files nil);不产生备份文件
(setq default-major-mode 'text-mode);一打开就起用 text 模式
(global-font-lock-mode t);语法高亮
(auto-image-file-mode t);打开图片显示功能
(fset 'yes-or-no-p 'y-or-n-p);以 y/n代表 yes/no
(column-number-mode t);显示列号
(show-paren-mode t);显示括号匹配
(display-time-mode 1);显示时间,格式如下
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(tool-bar-mode nil);去掉那个大大的工具栏
(scroll-bar-mode nil);去掉滚动条
;(mouse-avoidance-mode 'animate);光标靠近鼠标指针时,让鼠标指针自动让开
(setq mouse-yank-at-point t);支持中键粘贴
(transient-mark-mode t);允许临时设置标记
(setq x-select-enable-clipboard t);支持emacs和外部程序的粘贴
(setq frame-title-format '("" buffer-file-name "@emacs" ));在标题栏显示buffer名称
(setq default-fill-column 80);默认显示 80列就换行


;鼠标滚轮,默认的滚动太快,这里改为3行
(defun up-slightly () (interactive) (scroll-up 3))
(defun down-slightly () (interactive) (scroll-down 3))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)


;非交互式编译
(defun do-compile ()
  "Save buffers and start compile"
  (interactive)
  (save-some-buffers t)
  (setq compilation-read-command nil)
  (compile compile-command)
  (setq compilation-read-command t))


;shell,gdb退出后,自动关闭该buffer
(add-hook 'shell-mode-hook 'mode-hook-func)
(add-hook 'gdb-mode-hook 'mode-hook-func)
(defun mode-hook-func  ()
  (set-process-sentinel (get-buffer-process (current-buffer))
         #'kill-buffer-on-exit))
(defun kill-buffer-on-exit (process state)
  (message "%s" state)
  (if (or
       (string-match "exited abnormally with code.*" state)
       (string-match "finished" state))
      (kill-buffer (current-buffer))))


;全屏
(defun my-fullscreen ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

;最大化
(defun my-maximized-horz ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))
(defun my-maximized-vert ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
(defun my-maximized ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
(my-maximized)


;加入会话功能
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
(load "desktop")
(desktop-save-mode)


;加入标签功能
(require 'tabbar)
(tabbar-mode)
;(global-set-key (kbd "") 'tabbar-backward-group)
;(global-set-key (kbd "") 'tabbar-forward-group)
(global-set-key (kbd "C-`") 'tabbar-backward)
(global-set-key (kbd "C-<tab>") 'tabbar-forward)
;设置tabbar字体
(set-face-attribute 'tabbar-default-face
          nil :family "Tahoma")


;加入color-theme插件
(require 'color-theme)
(color-theme-classic)


;启动最大化
;(require 'maxframe)
;(setq mf-max-width 1018)
;(setq mf-max-height 730)
;(add-hook 'window-setup-hook 'maximize-frame t)


;加入xcscope插件
(require 'xcscope)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;C/C++设定;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;缩进策略
(defun my-indent-or-complete ()
  (interactive)
  (if (looking-at "\\>")
      (hippie-expand nil)
    (indent-for-tab-command)))
;补全优先级
(autoload 'senator-try-expand-semantic "senator")
(setq hippie-expand-try-functions-list
      '(
   senator-try-expand-sematic
   try-expand-dabbrev
   try-expand-dabbrev-visible
   try-expand-dabbrev-all-buffers
   try-expand-dabbrev-from-kill
   try-complete-file-name-partially
   try-complete-file-name
   try-expand-all-abbrevs
   try-expand-list
   try-expand-line
   try-complete-lisp-symbol-partially
   try-complete-lisp-symbol))
;;;; CC-mode配置  http://cc-mode.sourceforge.net/
(require 'cc-mode)
(c-set-offset 'inline-open 0)
(c-set-offset 'friend '-)
(c-set-offset 'substatement-open 0)
;;;;根据后缀判断所用的mode
;;;;注意:我在这里把.h关联到了c++-mode
(setq auto-mode-alist
      (append '(("\\.h$" . c++-mode)) auto-mode-alist))
;;;;我的C语言编辑策略
(defun my-c-mode-common-hook()
  (setq default-tab-width 4 indent-tabs-mode nil)
  (setq tab-width 4 indent-tabs-mode nil)
  (setq c-basic-offset 4)
  ;;; hungry-delete and auto-newline
  (c-toggle-auto-hungry-state 1)
  ;;按键定义
  ;(define-key c-mode-base-map [(control \`)] 'hs-toggle-hiding)
  (define-key c-mode-base-map [(return)] 'newline-and-indent)
  (define-key c-mode-base-map [(f7)] 'do-compile)
  ;(define-key c-mode-base-map [(f8)] 'ff-get-other-file)
  (define-key c-mode-base-map [(meta \`)] 'c-indent-command)

  ;(define-key c-mode-base-map [(tab)] 'hippie-expand)
  (define-key c-mode-base-map [(tab)] 'my-indent-or-complete)
  (define-key c-mode-base-map [(meta ?/)] 'semantic-ia-complete-symbol-menu)
  ;;预处理设置
  (setq c-macro-shrink-window-flag t)
  (setq c-macro-preprocessor "cpp")
  (setq c-macro-cppflags " ")
  (setq c-macro-prompt-flag t)
  (setq hs-minor-mode t)
  (setq abbrev-mode t))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
;;;;我的C++语言编辑策略
(defun my-c++-mode-hook()
  (setq default-tab-width 4 indent-tabs-mode nil)
  (setq tab-width 4 indent-tabs-mode nil)
  (setq c-basic-offset 4)
  ;;(define-key c++-mode-map [f3] 'replace-regexp)
  (c-set-style "stroustrup"))
(add-hook 'c++-mode-hook 'my-c++-mode-hook)


;加入cedet插件
(add-hook 'texinfo-mode-hook (lambda () (require 'sb-texinfo)))
(require 'cedet)
(semantic-load-enable-code-helpers)
(autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)
(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)
(define-key-after (lookup-key global-map [menu-bar tools])
  [speedbar]
  '("Speedbar" .
    speedbar-frame-mode)
  [calendar])
(global-set-key [f4] 'speedbar);F4打开/关闭speedbar
;;;;semantic /usr/include     
(setq semanticdb-search-system-databases t)
(add-hook 'c-mode-common-hook
          (lambda ()
            (setq semanticdb-project-system-databases
                  (list (semanticdb-create-database
          semanticdb-new-database-class
          "/usr/include")))))
;project root path
(setq semanticdb-project-roots
      (list
       (expand-file-name "~/devel")))


;加入ecb插件
(require 'ecb)
;ecb设置
(require 'ecb-autoloads)
(setq ecb-auto-activate t
      ecb-tip-of-the-day nil
      inhibit-startup-message t
      ecb-auto-compatibility-check nil
      ecb-version-check nil)



(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(ecb-layout-window-sizes (quote (("left8" (0.20967741935483872 . 0.27586206896551724) (0.20967741935483872 . 0.2413793103448276) (0.20967741935483872 . 0.27586206896551724) (0.20967741935483872 . 0.1724137931034483)))))
 '(ecb-primary-secondary-mouse-buttons (quote mouse-1--C-mouse-1)))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 )


;scroll other window
(global-set-key (kbd "C-c C-v") 'scroll-other-window)
(global-set-key (kbd "C-c C-b") 'scroll-other-window-down)



最后由 kemean 编辑于 2007-08-05 22:10,总共编辑了 2 次

页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-06-30 16:26 
头像

注册: 2006-12-11 10:24
帖子: 129
地址: 湖北
送出感谢: 0 次
接收感谢: 0 次
直接性的看晕了
看来我太菜了!


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-07-03 16:56 

注册: 2007-06-16 14:24
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
:shock:


页首
 用户资料  
 
5 楼 
 文章标题 : 最大化函数的修正。
帖子发表于 : 2007-08-05 21:55 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
主要修正最大化函数,原有设置在BSD中工作不正常。

代码:
;该函数用于全屏,状态值为2说明全屏后可以还原
(defun my-fullscreen ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(2 "_NET_WM_STATE_FULLSCREEN" 0)))



代码:
;该函数用于最大化,状态值为1说明最大化后不会被还原
;因为这里有两次最大化 (分别是水平和垂直)
(defun my-maximized ()
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
  (interactive)
  (x-send-client-message
   nil 0 nil "_NET_WM_STATE" 32
   '(1 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
(my-maximized)

奇怪的是,以前都用2时ubuntu下工作没出问题,换到BSD中问题就出现了。
因此,这里把值改为1就OK。


页首
 用户资料  
 
6 楼 
 文章标题 : 另外给一下tabbar字体设置的方法:
帖子发表于 : 2007-08-05 21:58 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
另外给一下tabbar字体设置的方法:

代码:
;加入标签功能
(require 'tabbar)
(tabbar-mode)
;(global-set-key (kbd "") 'tabbar-backward-group)
;(global-set-key (kbd "") 'tabbar-forward-group)
(global-set-key (kbd "C-`") 'tabbar-backward)
(global-set-key (kbd "C-<tab>") 'tabbar-forward)


;设置tabbar字体-----说明,下面这段要加在tabbar之后。
(set-face-attribute 'tabbar-default-face
          nil :family "Tahoma")


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-08-05 22:29 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
贴一下效果图:
图片

图片


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-08-29 5:40 
头像

注册: 2007-03-13 4:59
帖子: 159
地址: Erlangen
送出感谢: 0 次
接收感谢: 0 次
使用了你贴的最大化函数, 非常好使. 感谢..


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-05-07 6:43 

注册: 2008-05-07 6:42
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
太感谢了,一直想要让emacs在gnome下全屏,终于找到了,呵呵。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-07-09 10:07 

注册: 2008-06-11 17:03
帖子: 26
送出感谢: 0 次
接收感谢: 0 次
最大化的函数不错,谢谢楼主阿


页首
 用户资料  
 
11 楼 
 文章标题 : Re: Emacs 最大化和全屏的配置
帖子发表于 : 2008-10-22 10:33 

注册: 2008-04-02 11:39
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
windows下我一直无法解决这个问题。郁闷....
有人知道怎么设置吗?


页首
 用户资料  
 
12 楼 
 文章标题 : Re:
帖子发表于 : 2009-08-13 14:56 

注册: 2008-10-15 10:49
帖子: 583
地址: CS
送出感谢: 0 次
接收感谢: 0 次
补充点:

emacs -fs
一打开就全屏


_________________
代码:
 _____________
< 呜呜buntu >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


页首
 用户资料  
 
13 楼 
 文章标题 : Re: Emacs 最大化和全屏的配置
帖子发表于 : 2009-12-08 20:43 
头像

注册: 2007-10-18 17:37
帖子: 167
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
不错! 分享了你的全屏的配置..


页首
 用户资料  
 
14 楼 
 文章标题 : Re: Emacs 最大化和全屏的配置
帖子发表于 : 2010-06-03 11:35 

注册: 2008-10-15 10:49
帖子: 583
地址: CS
送出感谢: 0 次
接收感谢: 0 次
emacs 23 用上面全屏配置显示不正常,minibuffer下会出现多余空行

这样能搞定:

代码:
(defun my-fullscreen ()
        (interactive)
        (set-frame-parameter nil 'fullscreen
                             (if (frame-parameter nil 'fullscreen) nil 'fullboth)))

(run-with-idle-timer 0.1 nil 'my-fullscreen)

关键是最后一行的run-with-idle-timer

来源:
http://www.emacswiki.org/emacs/FullScreen#toc6


_________________
代码:
 _____________
< 呜呜buntu >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


页首
 用户资料  
 
15 楼 
 文章标题 : Re: Emacs 最大化和全屏的配置
帖子发表于 : 2010-06-03 12:05 
头像

注册: 2008-03-25 15:49
帖子: 25876
地址: 谁知道?
送出感谢: 8
接收感谢: 10
不爱全屏。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译