分页: 1 / 1

对 vim 失去信心了,问下 emacs 的事 [终止]

发表于 : 2011-05-08 20:05
自由建客
vim script 没有加载卸载动态库的机制,只有个调用一段脚本的功能,只能算是过场式,没法做可复用库。autoload 非常气人,我自己写了个脚本,模拟了个动态库机制,还算比较好用。
vim script 似乎无法指定想要操作的对象,比如 let b:var 只能是当前缓冲区,无法指定某个后台缓冲区,还有很多选项什么的也只能是当前缓冲区当前窗口之类的,没有指针或别的能指定操作对象的机制。这个我实在没法弄了。

elisp 是否有动态库机制?
elisp 那些种种操作能否指定对象?比如是具体的某某缓冲区或窗口,而不能只是当前缓冲区或窗口。

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 20:31
mikeandmore
1 (load-file)? (require)?
2 (with-current-buffer buf)??

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 20:53
Mazenvoy
mikeandmore 写了:1 (load-file)? (require)?
2 (with-current-buffer buf)??
没想到能发现学长

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 23:08
fanhe
你需要这些功能干什么

vim确实没有emacs万能, 这是事实
如果你真的想把编辑器变成万能, emacs 欢迎你

我有想过转emacs的, 但是, 那些快捷键实在是太那啥了

另外, 无论你用emacs还是vim都别想直接用c的库, 写扩展还是乖乖地学个脚本语言, 如果是emacs就要精通它的elisp

祝折腾快乐 :em05

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 23:12
fanhe
vim 可以获取后台缓冲的文本, 也可以设置后台缓冲的选项

代码: 全选

:h getbufline()
:h getbufvar()
修改后台缓冲好像用 python 可以的, python 有缓冲区对象, 直接操作

只不过, 我想要后台静默载入缓冲, 然后操作这个缓冲. 貌似不行

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 23:30
xwsnet
我一般只用vim来处理文本,看中的就是他的正则表达式和高效的处理方法,没打算如此深入的学习vim :em06

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 23:56
自由建客
淡定!淡定!我气消了!过日子难免吵架,但吵完架总归还是要和好的!

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-08 23:59
自由建客
fanhe 写了:vim 可以获取后台缓冲的文本, 也可以设置后台缓冲的选项

代码: 全选

:h getbufline()
:h getbufvar()
修改后台缓冲好像用 python 可以的, python 有缓冲区对象, 直接操作

只不过, 我想要后台静默载入缓冲, 然后操作这个缓冲. 貌似不行
看了一场电影,静下心来,翻手册翻到了。

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-09 0:54
fanhe
自由建客 写了:
fanhe 写了:vim 可以获取后台缓冲的文本, 也可以设置后台缓冲的选项

代码: 全选

:h getbufline()
:h getbufvar()
修改后台缓冲好像用 python 可以的, python 有缓冲区对象, 直接操作

只不过, 我想要后台静默载入缓冲, 然后操作这个缓冲. 貌似不行
看了一场电影,静下心来,翻手册翻到了。

代码: 全选

:function-list
把所有函数浏览个十次以上

连内置函数都不熟悉的话, 写脚本是事倍功半

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-09 12:17
acer4740
这有什么,vimscript本来就是处理vim内部事务的,难道要在vim上跑应用程序?

要是厉害的话,修改源代码什么不能做?

Re: 对 vim 失去信心了,问下 emacs 的事

发表于 : 2011-05-09 12:24
eexpress
xwsnet 写了:我一般只用vim来处理文本,看中的就是他的正则表达式和高效的处理方法,没打算如此深入的学习vim :em06
我表示,当年我是被逼到用vim的。
:em04
这东西太深。不耽误时间。