如何在linux下写程序? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Part
V2EX    程序员

如何在linux下写程序?

  •  
  •   Part 2013-01-17 09:29:20 +08:00 7324 次点击
    这是一个创建于 4726 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人win下的PHPer,很好奇linux下的程序猿是如何在木有GUI下写程序的,特别是在团队里面,如何用纯vim(木有装插件的情况下)协助完成一个项目?
    55 条回复    1970-01-01 08:00:00 +08:00
    kingwkb
        1
    kingwkb  
       2013-01-17 09:30:02 +08:00   1
    openSUSE + Sublime Text 2
    ratazzi
        2
    ratazzi  
       2013-01-17 09:39:29 +08:00
    终端下面倒是可以用 tmux 虚拟几个窗口,但是 vim 不装插件的话还是很要命的

    但是我是不喜欢那样的,还是得要桌面环境,一般 浏览器,GVim, gnome-terminal, oh-my-zsh 这些
    quake0day
        3
    quake0day  
       2013-01-17 09:40:40 +08:00   1
    没有GUI和纯VIM 这两个限制没有道理。谁也不会用这两个组合来写程序,顶多是应急修改下程序。
    Part
        4
    Part  
    OP
       2013-01-17 09:43:56 +08:00
    @quake0day 这个问题的由来是,我听一个百度的PHPer说他们是在Redhat下terminal,用vim写PHP,我也很不理解。
    ljbha007
        5
    ljbha007  
       2013-01-17 09:54:00 +08:00
    php的话用 vim就够了呀 外加一个浏览器来查文档和调试前端
    C/C++用 vim+make也够了嘛
    同理 java用 vim+ant/maven也够了嘛
    aisk
        6
    aisk  
       2013-01-17 09:55:03 +08:00
    就跟在win下写代码没什么两样吧,命令行下vim即使不装任何插件,也是可以拿来用的,很多人用notepad++一类的不一样写代码吗,你需要的不过就是个代码高亮,自动缩进,括号匹配这些功能,不装第三方插件vim完全足够了。
    aisk
        7
    aisk  
       2013-01-17 09:56:55 +08:00
    “很好奇linux下的程序猿是如何在木有GUI下写程序的”
    楼主这样问难不成以为linux本来就木有GUI?linux下写代码,除了微软VS一类的不能跑外其他大部分都妥妥的,eclipse神马的超级流畅。
    zx1986
        8
    zx1986  
       2013-01-17 10:07:10 +08:00
    我想原po要的是同一案之的吧,需要同多案修。
    需要的是 TagList 跟 CtrlP vim plugin
    lyric
        9
    lyric  
       2013-01-17 10:12:23 +08:00
    @quake0day 这在鄙公司是常态。

    所有人都是通过某种SSH Client连到服务器开vim写程序。
    fwee
        10
    fwee  
       2013-01-17 10:15:48 +08:00
    习惯而已。。装个NerdTree开搞
    jiazhoulvke
        11
    jiazhoulvke  
       2013-01-17 10:18:07 +08:00
    为什么一定要没有装插件的vim?无法理解。有人会嫌自己开发效率太高么?我的vim插件数一直在30个以上。
    wy315700
        12
    wy315700  
       2013-01-17 10:19:18 +08:00
    用文本编辑器+make 我一般用 sublime
    fkccp
        13
    fkccp  
       2013-01-17 10:21:34 +08:00
    @kingwkb suse + sublime
    +1
    wy315700
        14
    wy315700  
       2013-01-17 10:24:05 +08:00
    @lyric 可以在本机上写 然后同步到服务器上去啊
    saharabear
        15
    saharabear  
       2013-01-17 10:28:11 +08:00
    我们就完全是远程ssh到bsd/linux上面,开tmux或者screen,然后一个vim/emacs就完事了,其他不管啊.
    goool
        16
    goool  
       2013-01-17 10:30:29 +08:00
    应急的话可以这样,在本机写,保存到远程服务器:

    vim scp://user@host//var/www/html/somefile
    sodapanda
        17
    sodapanda  
       2013-01-17 10:36:15 +08:00
    @lyric 是腾讯吗?还么毕业的从来没给公司写过程序
    ufo22940268
        18
    ufo22940268  
       2013-01-17 10:52:23 +08:00
    @lyric oh,看到你了.我们在同一个clan里面,我叫做hongbosb, 哈哈
    你们公司在哪里
    quake0day
        19
    quake0day  
       2013-01-17 11:05:21 +08:00
    @lyric VIM啥插件也不装?
    Cadina
        20
    Cadina  
       2013-01-17 11:23:09 +08:00
    emacs+php-mode+auto-complete妥妥的
    alexrezit
        21
    alexrezit  
       2013-01-17 11:25:05 +08:00   1
    鄙人愚见: 用 Windows 做 web 开发简直是件惨绝人寰的事情...
    swulling
        22
    swulling  
       2013-01-17 12:13:15 +08:00
    php又不是做GUI程序,要啥IDE?
    imcj
        23
    imcj  
       2013-01-17 12:22:17 +08:00
    @saharabear
    @lyric
    为什么不在本地开发好以后上传服务器?
    lyric
        24
    lyric  
       2013-01-17 12:23:00 +08:00
    @quake0day
    嗯,好几个人啥都没装,开个syntax on 然后ctags。我装得比较多。

    @sodapanda
    没...还没毕业

    @ufo22940268
    北京啊
    udonmai
        25
    udonmai  
       2013-01-17 12:24:46 +08:00
    @Part 百度的测试机和开发机都是RedHat,本地SSH过去,当然Vim之类的了。。。很多公司都是这样吧。。。不过也有人是在开发机上架版本控制,本地开发再推上去,不过不管怎么样,即使本地开发如果用IDE的话还需要设置很多忽略文件,还要控制目录结构,反而增加成本了。
    udonmai
        26
    udonmai  
       2013-01-17 12:26:10 +08:00
    @imcj 测试机有权限控制,没法自己架各种环境,版本控制也不行。
    lyric
        27
    lyric  
       2013-01-17 12:27:17 +08:00
    @imcj 因为程序只能跑在Linux,有的还存在依赖。本地搭建起来会很麻烦,测试也麻烦,所以在服务器上写。
    openroc
        28
    openroc  
       2013-01-17 12:37:14 +08:00
    tmux + vim, 很好用哦~ :)
    join
        29
    join  
       2013-01-17 12:38:20 +08:00
    其实写代码什么都不是什么大的问题.碰到调试是个大问题.
    用vim写c/c++没有补全,没有错误检查,没有方便的文件跳转.这些我都能忍受,唯一不能忍受的是用gdb调试,这玩意调试c/c++真的很蛋疼.
    revlis7
        30
    revlis7  
       2013-01-17 12:54:34 +08:00
    本地windows,自己搭了个虚拟机然后做磁盘共享,windows下用sublime开发,完成后svn commit,这样修改的时候可以直接在本地看到结果。

    开发服务器是linux,定时脚本去取svn库更新,这样其他部门也能看到最新的版本修改。

    我觉得每个人都有自己习惯的方式没错,但是公司环境总是复杂的,比如你去线上服务器只能用vim,但是我们sa又绝不会让我拷一堆插件上去。还有既然开发是linux平台的,但是很多公司只配给你windows的机器,包括it都只支持windows。所以在公司我还是习惯用一些很容易就能找到或者配置的东西。
    alexrezit
        31
    alexrezit  
       2013-01-17 12:54:34 +08:00   1
    @lyric
    必须要用 zencoding 啊! 同 21 F, 鄙人愚见: 做 web 开发不用 zencoding 简直是件惨绝人寰的事情.
    lyric
        32
    lyric  
       2013-01-17 13:02:36 +08:00
    @alexrezit 纯C...哪来的web
    alexrezit
        33
    alexrezit  
       2013-01-17 13:04:11 +08:00
    @lyric 楼主不是 PHPer 么?
    lyric
        34
    lyric  
       2013-01-17 13:06:37 +08:00
    @join 实际上需要调试的时候不多。
    lyric
        35
    lyric  
       2013-01-17 13:07:42 +08:00
    @alexrezit 我没注意到Phper,他光说问程序员也没有问phper程序员。而且评论里面五花八门的程序员都有。
    ufo22940268
        36
    ufo22940268  
       2013-01-17 13:13:28 +08:00
    @join 觉得gdb很棒呀, 还有gdbscript
    alexrezit
        37
    alexrezit  
       2013-01-17 13:18:51 +08:00
    @lyric 诶? 你是我们 clan 的 lyric 咩?
    leejiangren
        38
    leejiangren  
       2013-01-17 13:27:04 +08:00
    没听说过开发机么。

    linux的vim下写代码几年了,正常。
    tioover
        39
    tioover  
       2013-01-17 13:29:08 +08:00 via Android
    其实我也很好奇怎么在win下写程序
    lyric
        40
    lyric  
       2013-01-17 14:00:18 +08:00
    @alexrezit 是啊是我
    reusFork
        41
    reusFork  
       2013-01-17 14:06:51 +08:00
    协同工作主要靠版本管理工具吧,跟编辑器关系不大

    以前在win下写php也是vim+浏览器搞掂,感觉跟linux差别不大,win下也可以装一些gnu工具包
    imcj
        42
    imcj  
       2013-01-17 14:44:14 +08:00
    @udonmai 权限管理?是代码的权限吗?
    imcj
        43
    imcj  
       2013-01-17 14:44:57 +08:00
    @lyric 什么语言没有管理依赖的东西?
    lyric
        44
    lyric  
       2013-01-17 14:48:02 +08:00
    @imcj C没有
    zetta
        45
    zetta  
       2013-01-17 14:52:32 +08:00
    嗯啊,ssh到开发机器上直接写代码就好了

    在公司在家里面对的环境都一样,省的同步了比较方便
    Part
        46
    Part  
    OP
       2013-01-17 15:00:39 +08:00
    @alexrezit 刚才install package,发现 zencoding for Sublime已经停止更新和支持了。sublimeer无语了...
    clww
        47
    clww  
       2013-01-17 15:06:28 +08:00   1
    @Part 已经改叫emmet了
    udonmai
        48
    udonmai  
       2013-01-17 15:07:30 +08:00
    @imcj 系统权限木有,比如什么都只有r,比如固定目录才可以wx,所以就别想自己配置环境了,网络环境也是。
    Part
        49
    Part  
    OP
       2013-01-17 15:08:10 +08:00
    @clww find it!
    vimac
        50
    vimac  
       2013-01-17 16:13:55 +08:00
    @tioover 同感,win下开发环境各种残废,怎么写程序……
    BigZ
        51
    BigZ  
       2013-01-17 16:38:51 +08:00
    我都在win上面用emeditor开发
    发布部署到linux即可
    reusFork
        52
    reusFork  
       2013-01-17 16:41:20 +08:00 via Android
    @lyric autotools
    wang2191195
        53
    wang2191195  
       2013-01-17 16:56:39 +08:00
    @jiazhoulvke 求推荐好用的插件~
    alexrezit
        54
    alexrezit  
       2013-01-17 17:54:20 +08:00
    @Part
    vim 一直用第三方的表示鸭梨不大... = =
    jiazhoulvke
        55
    jiazhoulvke  
       2013-01-17 19:25:16 +08:00   1
    @wang2191195
    我用的插件基本上也都是别人介绍过的。

    ctags 不算插件,但几乎所有vimer必备

    cscope 同上

    函数列表:taglist 虽然这货一直留着,不过还真很少用。

    自动补全:neocomplcache 应该算是目前我见过功能最强的补全插件。不过开发的项目比较大的时候补全会比较卡,算是个让人又爱又恨的家伙。目前弃用了。

    依然是补全:ultisnips 类似于snipmate。

    还是补全:zencoding 不用介绍了。

    代码搜索:ack 抛弃grep吧。

    代码注释:nerdcommenter 全语言支持,可以单行或代码段注释。

    字符串高亮:mark 阅读代码时很有用。

    buffer标签:tabbar 就像浏览器的标签一样,列出打开的所有buffer,可以按<A-1>、<A-2>组合键进行跳转,已弃用。

    buffer跳转:fuzzyfinder 它有很多功能,比如当前目录下所有文件的模糊查询、历史文件模糊查询等。不过我只用其中bufferlist功能,用来取代tabbar,又省了一行空间了。它虽然有文件模糊查找功能,不过在文件很多的情况下很卡。

    文件模糊查找:ctrlp 功能和fuzzyfinder极其类似。文件查找速度比fuzzyfinder快,不容易卡死。类似的插件还有command-t,ruby写的,我不用ruby,所以没装过。

    光标跳转:easymotion 比123gg然后f<a-z>这样的方式更快,不用再虐待自己的手指。

    贴代码:pastebin 想把自己的代码秀给别人看就可以装这个,可以直接把你正在编辑的代码贴到pastebin去。

    写博客:vimrepress 可以用markdown写博客,比直接在wordpress的后台里写博客舒服点。

    主题:solarized 我个人比较喜欢的一个主题,不伤眼

    还有很多其他有用的插件,不过比较偏门,比如conque、surround、visincr等,还有几个是自己写的狗粮型插件:myproject、googletranslate等,就不一一介绍了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5293 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:52 PVG 14:52 LAX 22:52 JFK 01:52
    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