LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: Peter74

看看 VIM 的强大功能吧 :)

[复制链接]
 楼主| 发表于 2006-5-10 22:07:23 | 显示全部楼层
通过做动画来让不了解linux的人了解它, 肯定是个不错的主意. 希望大家把自己认为好用的软件用这种形式展示出来,帮别人也很快的上手. 并且做动画其实很简单.. 呵呵

贴一个我做动画用的脚本, 让大家做起来方便些.

#!/bin/sh
count=1
limit=2
image=1
while [ $count -le $limit ]
do
read
echo "ok, ready for snaptshooting a window"
scrot -s $image.png
echo $image
image=`expr $image + 1`
done


下面的是修改文件名:
#!/bin/sh
count=1
while [ $count -le 9 ]
do
mv $count.png "0$count.png"
count=`expr $count + 1`
done
回复 支持 反对

使用道具 举报

发表于 2006-5-10 22:10:58 | 显示全部楼层
Post by Peter74
通过做动画来让不了解linux的人了解它, 肯定是个不错的主意. 希望大家把自己认为好用的软件用这种形式展示出来,帮别人也很快的上手. 并且做动画其实很简单.. 呵呵

贴一个我做动画用的脚本, 让大家做起来方便些.

#!/bin/sh
count=1
limit=2
image=1
while [ $count -le $limit ]
do
read
echo "ok, ready for snaptshooting a window"
scrot -s $image.png
echo $image
image=`expr $image + 1`
done


下面的是修改文件名:
#!/bin/sh
count=1
while [ $count -le 9 ]
do
mv $count.png "0$count.png"
count=`expr $count + 1`
done


然后呢?如果制作 gif?非常感谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-10 22:28:12 | 显示全部楼层
把准备做动画的图片(我用scrot抓的图,是png格式)放在一个目录中, 然后用animate -delay 70 *.png 就能看动画, 在动画上面点鼠标, 然后根据菜单把它保存成一个gif格式的文件vimshow.gif, 这个vimshow.gif文件就是一个动画文件. anmite的具体用法看帮助. convert可以来改变vimshow.gif文件, 比如: 切割这个动画,改变分辨率, or whatever you want...

convert vimshow.gif -sample 600 test.gif
convert vimshow.gif -crop 50%x100% -loop 0 test.gif
这两个是用来修改动画的.

其实, 用法在第一贴和第二贴上面写的有了.
回复 支持 反对

使用道具 举报

发表于 2006-5-10 22:36:24 | 显示全部楼层
convert -delay 70 -loop 0 *.png vimshow.gif
回复 支持 反对

使用道具 举报

发表于 2006-5-11 00:21:37 | 显示全部楼层
Post by Peter74
herberteuler:  就是看了你的帖子,我才想写这个的, emacs功能很强大, 但对于纯粹的编辑器来说, vim是最好的. 我怕那个动画对后来的新手有误导, 就花了一天的时间来做这个动画. 本来我不会做动画, 用半天时间找到了Imagemagick能做gif动画并学习了一下用法,然后用半天时间做这个动画. 做动画对于新手能起到很好的吸引作用, 所以顺便把做动画的方法也列出来, 希望大家做更多的动画帮助别人学习, 吸引不了解linux系统和他上面工具的人来使用linux

难怪觉得这个标题这么熟悉呢,呵呵!前面那个帖子我也是收藏了的,不过一直
没有好好的弄那个东西,但是它确实目前比楼主演示的那个要强大一点,像支持
选项跳转之类的这些应该不是什么大问题,关键还是Emacs有elisp这个强大的后
盾,比如,我用那个东西,直接定义:

  1. #ifndef <elisp "(insert (concat (upcase (replace-regexp-in-string "\\." "_" (file-name-nondirectory buffer-file-name))) "_"))">
  2. #define <elisp "(insert (concat (upcase (replace-regexp-in-string "\\." "_" (file-name-nondirectory buffer-file-name))) "_"))">

  3. <cursor>
  4. #endif        /* <elisp "(insert (concat (upcase (replace-regexp-in-string "\\." "_" (file-name-nondirectory buffer-file-name))) "_"))"> */
复制代码

的话,新建一个头文件,我只要输入
ifndefx 就可以得到一个很好的框架,根据当前的文件名动态修正的:

  1. #ifndef FILE_NAME_H_
  2. #define FILE_NAME_H_

  3. #endif /* FILE_NAME_H_ */
复制代码

:p lisp 很神奇!
回复 支持 反对

使用道具 举报

发表于 2006-5-11 15:23:44 | 显示全部楼层
python or perl,vi or emacs,linux or freebsd,gnome or kde
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-11 16:02:41 | 显示全部楼层
http://www.linuxsir.cn/bbs/showthread.php?t=206448

这个是我以前写的一个关于vim的帖子, 不知道用emacs+elisp能不能很简单的实现这个功能. 如果有人实现了, 请贴出来共享一下.
回复 支持 反对

使用道具 举报

发表于 2006-5-11 16:15:38 | 显示全部楼层
Post by Peter74
http://www.linuxsir.cn/bbs/showthread.php?t=206448

这个是我以前写的一个关于vim的帖子, 不知道用emacs+elisp能不能很简单的实现这个功能. 如果有人实现了, 请贴出来共享一下.


这个功能是 Emacs 自带的:
  1. (info "(emacs) saving emacs sessions")
复制代码

它的源代码在 Emacs 安装的 Lisp 目录里:lisp/desktop.el。
回复 支持 反对

使用道具 举报

发表于 2006-5-11 17:20:45 | 显示全部楼层
Post by Peter74
http://www.linuxsir.cn/bbs/showthread.php?t=206448

这个是我以前写的一个关于vim的帖子, 不知道用emacs+elisp能不能很简单的实现这个功能. 如果有人实现了, 请贴出来共享一下.

转自王垠的网站
Post by 转自王垠的网站

session.el
  (require 'session)
  (add-hook 'after-init-hook 'session-initialize)

使用了这个扩展之后,你上次离开 Emacs 时的全局变量 (kill-ring,命令记录……),局部变量,寄存器,打开的文件,修 改过的文件和最后修改的位置,…… 全部都会被记录下来。
加载了 session 之后菜单上会多两项:最近访问过的文件和最近 修改过的文件。看这个图 。   
desktop.el
(load "desktop")
(desktop-load-default)
(desktop-read)

如果你想保存上次打开的文件记录,那么可以使用 desktop。这是 Emacs 自 带的。你只需要加入以上设置,然后 M-x desktop-save。以后 Emacs 启动时就会打开你上次离开时的所有 buffer.
M-x desktop-clear 可以删除记住的内容,你闲现在记住的 buffer 太多就可以采用这个办法。不过我还是建议用 ibuffer(见下) 来管理这些buffer,因为有时你会发现,如果删掉全部记住的buffer, 以后你需要一定的时间来打开你经常编辑的文件!
如果session跟desktop配合,下次启动Emacs 的时候,就像根本 没有关闭 Emacs 一样!多爽!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-5-11 17:20:52 | 显示全部楼层
Post by herberteuler
这个功能是 Emacs 自带的:
  1. (info "(emacs) saving emacs sessions")
复制代码

它的源代码在 Emacs 安装的 Lisp 目录里:lisp/desktop.el。


herberteuler大侠,可不可以把你知道的emacs技巧写一个稍微详细点的教程呢?

小弟这段时间正在学习如何使用emacs来提高编辑的效率。可是网上的介绍多归多,但都有点语焉不详的感觉,有点吃力。不过就这两天的学习也真正体会到emacs的强大。emacs-wiki来写自己的笔记实在太好了,不过一些稍微复杂点的操作,便捷的操作方法就不知从何学习了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表