怎样做简易的代码编辑器(基于 Python)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jiyinyiyong
V2EX    Python

怎样做简易的代码编辑器(基于 Python)?

  •  
  •   jiyinyiyong
    jiyinyiyong 2012-01-05 20:25:49 +08:00 5776 次点击
    这是一个创建于 5081 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想要半透明的背景, 因为`Vim`可以半透明的
    想要没有菜单栏工具栏标签栏的, 只有文字界面和边框
    想要自动缩进和自动补全括号, 自动补全单词太难就免了
    .. 主要用来誊写代码和便笺的用途
    很怪`Linux`下载怎么没漂亮编辑器, 神器和付费的除外..
    唠叨多了只能自己想法子做了
    目前只有`Python`入门, `Gtk`方面只是了解了下, 没开发经验
    .. 曾经很外行地去比较`pygtk`和`pyslide`和`PyQt`了.. 没结果
    到现在不知道后面应该怎么学才好, 求指点, 谢
    27 条回复    1970-01-01 08:00:00 +08:00
    tioover
        1
    tioover  
       2012-01-05 20:26:54 +08:00
    sublime text怎么样
    fanzeyi
        2
    fanzeyi  
       2012-01-05 20:31:48 +08:00
    为什么不用vim?
    levn
        3
    levn  
       2012-01-05 20:38:28 +08:00
    gtksourceview……
    clino
        4
    clino  
       2012-01-05 20:59:04 +08:00
    ulipad 是用 python 写的阿,用的是 wxpython,而且可以开发插件,如果你有兴趣,可以直接开发插件来达到你想要的效果
    jiyinyiyong
        5
    jiyinyiyong  
    OP
       2012-01-05 21:05:54 +08:00
    @fanzeyi @tioover
    `Sublime`在用了, 虽然新手用不到很多功能, 不过免费版总是有问题
    `Vim`太复杂, 以后再慢慢学, 现在简单的就用`Vim`操作的
    fanzeyi
        6
    fanzeyi  
       2012-01-05 21:07:02 +08:00
    @jiyinyiyong Sublime 不推荐在 Linux 下使用..

    有工夫自己写过编辑器都没工夫学下 vim 么@@
    jiyinyiyong
        7
    jiyinyiyong  
    OP
       2012-01-05 21:07:16 +08:00
    @levn 看到了很可怕的`C`.. 谢. 我慢慢去看下
    fanzeyi
        8
    fanzeyi  
       2012-01-05 21:07:20 +08:00
    写过 -> 写个
    jiyinyiyong
        9
    jiyinyiyong  
    OP
       2012-01-05 21:10:38 +08:00
    @fanzeyi 说的是, 不过学`Vim`没动力啊
    话说记下十几个快捷键基本能用了, 但是配置语法那个古怪的..
    拿这个当原因好了: 想给自己一个学`Python`的动力..
    fanzeyi
        10
    fanzeyi  
       2012-01-05 21:15:16 +08:00
    @jiyinyiyong 完全可以用 vim + Python 做一个 vim 插件来的... 两个都能学 233
    jiyinyiyong
        11
    jiyinyiyong  
    OP
       2012-01-05 22:44:01 +08:00
    @fanzeyi 办法是好..
    jiyinyiyong
        12
    jiyinyiyong  
    OP
       2012-01-05 22:49:43 +08:00
    @levn @clino 感到被高估了 :P 不过真有东西看了
    hit9
        13
    hit9  
       2012-02-07 17:21:19 +08:00
    ubuntu下推荐scribes
    jiyinyiyong
        14
    jiyinyiyong  
    OP
       2012-02-09 23:02:55 +08:00
    @hit9 楼上的建议太好了, 要是早点接触到这样一款编辑器多好啊, 简洁到极点了
    不过没有代码自动补全之类功能有点可惜, 如果 SublimeText2 支持中文, 没的选了
    clowwindy
        15
    clowwindy  
       2012-02-09 23:19:16 +08:00
    一个好的编辑器使用的时候手不需要离开输入区。
    jiyinyiyong
        16
    jiyinyiyong  
    OP
       2012-02-09 23:25:43 +08:00
    @clowwindy 用过 ST2 之后去用 Vim 的感觉实在差很多啦
    当然我对 VimScript 外行是一方面.. 重要我觉得不耗脑子才是最重要的
    whtsky
        17
    whtsky  
       2012-02-10 00:06:14 +08:00 via Android
    @clino 似乎被楼主忽略了…去看看ulipad的源码吧
    jiyinyiyong
        18
    jiyinyiyong  
    OP
       2012-02-10 00:18:18 +08:00
    @whtsky , 实际上, 虽然我是这么问的, 但我并没打算真开始写
    水平不够, 主要目的是想在一开始先看清方向了解难度, 然后找办法
    .. Ulipad 源码怎么了?
    whtsky
        19
    whtsky  
       2012-02-10 00:40:03 +08:00 via Android
    @jiyinyiyong 额…因为你想要的东西ulipad差不多都有,看一下源码应该对你写这个有帮助啊.
    hit9
        20
    hit9  
       2012-03-23 10:57:46 +08:00
    @clowwindy 那就是在说vim了。。
    G_virus
        21
    G_virus  
       2012-03-25 11:46:12 +08:00
    vim的帮助文档是我见过最好的文档了,完全可以拿来当教程看。不习惯英语的话安装一个中文帮助文档就可以了。而且配置语法很规律啊,感觉没什么特别奇怪的地方。
    Esay
        22
    Esay  
       2012-03-25 12:24:29 +08:00
    如果,我是说如果,你真的想要自己做一个编辑器的话,在Scite的基础上做一个二次开发是个不错的选择。
    jiyinyiyong
        23
    jiyinyiyong  
    OP
       2012-03-26 15:27:04 +08:00
    @Esay 主意是好, 但还要找人带入门 GTK 的话比较没人缘
    先玩下 JS.. 还是在摇摆不定当中
    http://docview.cnodejs.net/projects/textareaEditor/textMarkdown.html?html
    jiyinyiyong
        24
    jiyinyiyong  
    OP
       2012-03-26 15:32:39 +08:00
    @G_virus 不知道说的哪一份? 直接 vim 里面自带的那个?
    比较怀疑 Vim 这中无所不包的功能不适合我这种喜欢简单的人用
    目前接触过当中, 虽然感觉下面的比较清晰了, 可看去还是看不清楚 Vim 怎么个思路
    http://vimcdoc.sourceforge.net/doc/index.html
    http://learnvimscriptthehardway.stevelosh.com/
    G_virus
        25
    G_virus  
       2012-03-27 17:17:50 +08:00
    是指vim自带的那份帮助。vim比较适合为了某些自定义功能不害怕折腾的人,虽然上手比较慢,但至少比自己写一个编辑器方便吧……更何况是一劳永逸的一项投资。
    vim初上手不需要写很复杂的配置文档,当在使用的过程中发现需要某项功能(补全、缩进、历史记录、snippet)时,再搜索->配置也不晚。我看了一下自己的vimrc,也不过127行。记得最初的那版vimrc里主要就配置了这些:
    编码相关的:encoding,fileencodings
    tab相关的:tabstop,softtabstop,expandtab
    缩进相关的:autoindent,shiftwidth
    显示相关的:colorscheme,guioption,hlsearch
    写代码相关:filetype,plugin,indent
    map:各种趁手的快捷键
    以上大部分都是各种vim初学者教程中会提到的,而且就算少配置几项,vim的默认配置也完全可以一用。
    tuoxie007
        26
    tuoxie007  
       2012-03-27 17:24:29 +08:00
    @clowwindy 鼠标也是输入设备
    jiyinyiyong
        27
    jiyinyiyong  
    OP
       2012-03-27 17:33:32 +08:00
    @G_virus Vim 当然要了解啦, 用到是必然的, 装几个插件, 基本还顺手啦
    我现在主要三 Sublime Text 2, 省得去拿 Vim 折腾侧边栏之类的, 那些感觉太难
    并不是真的计划写编辑器, 只是想学在 Gnome 做桌面应用, 作为菜鸟, 问路..
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2904 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:20 PVG 22:20 LAX 06:20 JFK 09:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86