免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

有关 Emacs 使用技巧的内容请在这个帖子讨论。 [复制链接]

论坛徽章:
0
801 [报告]
发表于 2009-11-06 17:17 |只看该作者
最大化可以用 switch-to-buffer-other-frame/c-x 5 b 代替。这样会新开一个 frame,用完后 delete-frame/c-x 5 0 就可以了。

c-x 5 b 时, emacs 会问 buffer 名,而默认的不是当前 buffer。可以自己写个小函数取当前 buffer,然后执行 switch-to-buffer-other-frame

论坛徽章:
0
802 [报告]
发表于 2009-11-16 14:11 |只看该作者
我想做一个快捷去执行一个编译好的可执行文件
请问怎么设置呢?谢谢

论坛徽章:
0
803 [报告]
发表于 2009-11-17 00:11 |只看该作者
原帖由 prince3685 于 2009-11-16 14:11 发表
我想做一个快捷去执行一个编译好的可执行文件
请问怎么设置呢?谢谢


写一个函数去调用你的可执行文件,然后绑定此函数,以  "ls" 为例



  1. (defun bar ()
  2.   (interactive)
  3.   (shell-command "ls"))

  4. (global-set-key (kbd "C-5") 'bar)
复制代码



现在 bar 函数绑定在 C-5 上,按 C-5 执行 ls

论坛徽章:
0
804 [报告]
发表于 2009-11-24 15:06 |只看该作者
我在用emacs的Ctrl-s搜索字符串的时候,我一般都用C-s C-w来获取光标处的字符串,但是每次获取到的字符串都不包含"_",比如windows_id,只有Windows,后边的_id没了,只能手敲进去,请问有没有什么办法改进一下的。

论坛徽章:
0
805 [报告]
发表于 2009-11-24 16:26 |只看该作者
原帖由 Benson_linux 于 2009-11-24 15:06 发表
我在用emacs的Ctrl-s搜索字符串的时候,我一般都用C-s C-w来获取光标处的字符串,但是每次获取到的字符串都不包含"_",比如windows_id,只有Windows,后边的_id没了,只能手敲进去,请问有没有什么办法改进一下的。


你试过再按一次 C-w 没有?

论坛徽章:
0
806 [报告]
发表于 2009-11-24 17:18 |只看该作者
原帖由 retuor 于 2009-11-24 16:26 发表


你试过再按一次 C-w 没有?


果然很好用,哈哈

论坛徽章:
0
807 [报告]
发表于 2009-12-01 20:42 |只看该作者
在c-mode下面,怎么才能不让tab自动转化为空格啊
下面这段代码,我写的对不对啊?


  1. ;;; for c/c++
  2. (add-hook 'c-mode-common-hook
  3.   '(lambda ()
  4.     (setq c-basic-offset 4)
  5.         (setq indent-tabs-mode t)
  6.         (require 'xcscope)))
复制代码

论坛徽章:
0
808 [报告]
发表于 2009-12-01 23:08 |只看该作者
原帖由 diffo 于 2009-12-1 20:42 发表
在c-mode下面,怎么才能不让tab自动转化为空格啊
下面这段代码,我写的对不对啊?


;;; for c/c++
(add-hook 'c-mode-common-hook
  '(lambda ()
    (setq c-basic-offset 4)
        (setq indent-ta ...


不知道怎样才能阻止 emacs 把 tab 转换成空格。当使用 c-mode 时, tab 键被映射成 c-indent-line-or-region。

如果不想分析这个函数,可以把 tab 键映射到 tab-to-tab-stop。但这样多半不是你想要的,因为当键入分号之类的符号时,会触发 emacs 的自动对齐,此时它仍然会用空格换掉 tab.

也可以在最后用  tabify 把指定长度的空白(tab-width)转成 tab

[ 本帖最后由 retuor 于 2009-12-1 23:10 编辑 ]

论坛徽章:
0
809 [报告]
发表于 2009-12-11 12:45 |只看该作者
c-tab-always-indent's value is t

Documentation:
*Controls the operation of the TAB key.
If t, hitting TAB always just indents the current line.  If nil, hitting
TAB indents the current line if point is at the left margin or in the
line's indentation, otherwise it calls `c-insert-tab-function' to
insert a `real' tab character.  If some other value (neither nil nor t),
then inserts a tab only within literals (comments and strings), but
always reindents the line.

论坛徽章:
0
810 [报告]
发表于 2010-01-01 11:03 |只看该作者
请问怎么才能让hungry-delete的时候不要删除上一行的换行符啊?


啊哈哈,自己解决了,不用hungry-delete-state,设置(setq backward-delete-char-untabify-method 'hungry)


囧,backspace可以,用delete删除的话就会一个一个字符删,继续求高手指点

[ 本帖最后由 diffo 于 2010-1-1 11:41 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP