源码目录下查找常用的curses库函数都没有找到,vim是用什么绘的界面
终端下绘界面不用curses库还有别的选择吗
vim不是用curses画得吗
-
- 帖子: 8
- 注册时间: 2013-06-30 22:26
- 系统: Archlinux
- 联系:
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: vim不是用curses画得吗
看看 screen.c?Vim 的 Linux 版是有链接 ncurses 的。GUI 版和 Windows 控制台版是自己画的。
-
- 帖子: 8
- 注册时间: 2013-06-30 22:26
- 系统: Archlinux
- 联系:
Re: vim不是用curses画得吗
我在src目录下搜索 initscr,refresh,endwin,noecho常见的curses函数都没有找到啊。lilydjwg 写了:看看 screen.c?Vim 的 Linux 版是有链接 ncurses 的。GUI 版和 Windows 控制台版是自己画的。
代码: 全选
$ find . -type f -exec grep -nH 'initscr' {} \;
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: vim不是用curses画得吗
1. 你不需要用 find28hua 写了:我在src目录下搜索 initscr,refresh,endwin,noecho常见的curses函数都没有找到啊。lilydjwg 写了:看看 screen.c?Vim 的 Linux 版是有链接 ncurses 的。GUI 版和 Windows 控制台版是自己画的。这样用挺对的吧代码: 全选
$ find . -type f -exec grep -nH 'initscr' {} \;
2. 没有这些高层函数挺正确的
[bash]
>>> comm -12 <(objdump -T /usr/lib/libncursesw.so.5 | awk '$4 == ".text" {print $7}' | sort) <(objdump -T =vim | awk '$3 == "*UND*" { print $5 }'|sort)
tgetent
tgetflag
tgetnum
tgetstr
tgoto
tputs
[/bash]
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 8
- 注册时间: 2013-06-30 22:26
- 系统: Archlinux
- 联系:
Re: vim不是用curses画得吗
谢谢仙子,您这一行脚本好帅哦lilydjwg 写了: [bash]
>>> comm -12 <(objdump -T /usr/lib/libncursesw.so.5 | awk '$4 == ".text" {print $7}' | sort) <(objdump -T =vim | awk '$3 == "*UND*" { print $5 }'|sort)
tgetent
tgetflag
tgetnum
tgetstr
tgoto
tputs
[/bash]
-
- 帖子: 8
- 注册时间: 2013-06-30 22:26
- 系统: Archlinux
- 联系:
Re: vim不是用curses画得吗
也是啊,Vi 好像比 curses 还要老,维基上还有这么一句eexpress 写了:应该不会使用tputs这样的。
老牌软件自己画,不调用库,很正常啊。
The name "curses" is a pun on cursor optimization.[6] Sometimes it is incorrectly stated that curses was used by the vi editor. In fact the code in curses that optimizes moving the cursor from one place on the screen to another was borrowed from vi, which predated curses.