设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
开源软件专题讨论
›
emacs的跳转问题
1
2
/ 2 页
下一页
返回列表
查看:
1731
|
回复:
16
emacs的跳转问题
[复制链接]
littlepig
littlepig
当前离线
积分
470
IP卡
狗仔卡
发表于 2006-7-30 12:13:22
|
显示全部楼层
|
阅读模式
用了很长时间vim,习惯于一些跳转方式,由于特殊原因要开始用emacs,几个跳转的键不知道,写起程序来觉得很不方便,特此请教:
1: 有没有类似vim下C-o, C-i这样的键? 就是跳转到刚才待过的地方
2: 有没有类似H, M, L这样的键? 就是跳转到屏幕的顶端,中部和底端
2: 有没有类似d%这样的键?就是删除从当前括号一直到匹配括号(包括匹配的注释符号/*...*/)间的文字
多谢了,先就这些,有了新问题再来
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
kardinal
kardinal
当前离线
积分
205
IP卡
狗仔卡
发表于 2006-7-30 18:11:41
|
显示全部楼层
可以设置书签 光标寄存器 还可以保存窗口状态
跳转到刚才的地方好像不能。。。不过可以通过扩实现。。。王垠的页面里有这个扩展吧? 我用不到,也就没有注意了
在页面内跳转
M-r 跳转到页面中间
加数字参数 比如 C-u 1 M-r 是光标移到第几行
C-l 是将当前行卷至页面中间
C-u 1 C-l 是将当前行卷到页面第几行
删除那个。。可以试一下 M-x kill-paragraph 如果符合要求,可以绑到一个键上
我正在写一个Emacs的入门教程 ,编辑模式差不多完成了,等会发上来
回复
支持
反对
使用道具
举报
显身卡
kardinal
kardinal
当前离线
积分
205
IP卡
狗仔卡
发表于 2006-7-30 18:14:32
|
显示全部楼层
注释可以直接删除 不同的主模式能够识别不同的注释格式 M-x kill-comment
如果上面的 M-x kill-paragraph 不符合要示,可以自己录制一个宏,用正则表达式匹配,应该是很简单的。。。
回复
支持
反对
使用道具
举报
显身卡
kardinal
kardinal
当前离线
积分
205
IP卡
狗仔卡
发表于 2006-7-30 18:51:20
|
显示全部楼层
兄弟的特殊原因是什么原因啊?比较感兴趣,要是方便的话,讲一下吧。。。
Vim我用的时间不长,也就两个来月吧。。。不过Emacs用的时间还不到Vim的一半
Vim本身是很爽的,但是,用大话里那句经典的台词:
Vim是比Emacs要爽一点点,但是有了输入法这个累赘,Emacs就比Vim要爽一点点了……
http://www.linuxsir.cn/bbs/showthread.php?t=266224
原贴地址:(包含纯文本格式,可以大致浏览下。稍微新一点点)
http://forum.ubuntu.org.cn/viewtopic.php?p=105293
回复
支持
反对
使用道具
举报
显身卡
littlepig
littlepig
当前离线
积分
470
IP卡
狗仔卡
楼主
|
发表于 2006-7-31 00:40:00
|
显示全部楼层
多谢详细的回答
原因嘛,呵呵,中文问题,我把老婆的Powerbook抢过来用,用Mac真爽,呵呵,不过vim,不管是自带的还是我自己编译的vim7都不支持中文,很奇怪!LINUX下,我一直用cvs获取最新的vim版本自己编译,从来没出现过中文问题。Mac下怎么也不好使,不想花很长时间去摸索怎么让它支持,就换到emacs上,啥文都支持。
回复
支持
反对
使用道具
举报
显身卡
kardinal
kardinal
当前离线
积分
205
IP卡
狗仔卡
发表于 2006-7-31 02:23:59
|
显示全部楼层
呵呵,建议看看我写的教程,顺便提点意见
回复
支持
反对
使用道具
举报
显身卡
littlepig
littlepig
当前离线
积分
470
IP卡
狗仔卡
楼主
|
发表于 2006-7-31 12:59:17
|
显示全部楼层
关于删除匹配括号间文本已经有答案了,emacs有两个命令:kill-sexp和backward-kill-sexp,对应的键组合是:C-M-k和Esc C-del (或者Esc C-backspace),觉得有点不习惯,因为向前删除和向后删除键组合差别较大,为了保持vim的使用方式,写了一小段配置:
;;删除匹配括号间内容
(defun kill-match-paren (arg)
(interactive "p")
(cond ((looking-at "[([{]") (kill-sexp 1) (backward-char))
((looking-at "[])}]") (forward-char) (backward-kill-sexp 1))
(t (self-insert-command (or arg 1)))))
(global-set-key (kbd "C-x %") 'kill-match-paren)
加到.emacs里,从此敲C-x %或者M-x kill-match-paren就可以完成vim里d %的功能了。
在一页内跳转还是不方便,敲的键有点多
有空再写一段脚本完成,应该是可以的,为了跳到页尾要计算当前页的总行数,这个不知道怎么做。
一句题外话,总说工欲善其事,必先利其器,或者磨刀不误砍柴工,不过我有个活要一周出活,现在适应配置emacs用了三天,看来活完不成了555...
回复
支持
反对
使用道具
举报
显身卡
littlepig
littlepig
当前离线
积分
470
IP卡
狗仔卡
楼主
|
发表于 2006-7-31 13:50:43
|
显示全部楼层
页面内跳转页搞定了,在.emacs中加入:
(global-set-key (kbd "C-c H")
'(lambda () "myhome" (interactive) (move-to-window-line 0)))
(global-set-key (kbd "C-c L")
'(lambda () "myend" (interactive) (move-to-window-line -1)))
以后就可以用C-c H和C-c L实现跳转到页头和页尾
回复
支持
反对
使用道具
举报
显身卡
kardinal
kardinal
当前离线
积分
205
IP卡
狗仔卡
发表于 2006-8-2 00:09:28
|
显示全部楼层
(global-set-key (kbd "C-c L")
'(lambda () "myend" (interactive) (move-to-window-line -1)))
是不是没写全啊?括号都不匹配啊??? 老兄要是有Elisp的教程共享一下啊……
回复
支持
反对
使用道具
举报
显身卡
littlepig
littlepig
当前离线
积分
470
IP卡
狗仔卡
楼主
|
发表于 2006-8-2 03:05:56
|
显示全部楼层
???不匹配么?拷贝到emacs或vi里面看看,我就是从我的配置文件里拷贝出来的。而且用肉眼看也是匹配的呀。
elisp教材?从gnu那下就是了,不过没时间看,基本就看个开头,然后捡需要的段落例子飞快地模仿写一个可以用就行,搞这些东东不是时间充足,就是精力过人;) 学生时期比较合适。
http://www.gnu.org/software/emacs/elisp-manual/
http://www.gnu.org/software/emacs/emacs-lisp-intro/
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
服务器架设、应用、维护
LFS(LinuxfromScratch)
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表