notepad++ ssh 一些个小坑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ColinChang
V2EX    Ruby

notepad++ ssh 一些个小坑

  •  
  •   ColinChang 2020-03-10 16:28:08 +08:00 11760 次点击
    这是一个创建于 2042 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我特别喜欢用 notepad ssh 到学校 linux 服务器撸代码
    最近写脚本语言( perl,ruby )的时候,经常会报各种稀奇古怪的错。总结一下心得。


    [/img]
    看起来很常,但是错误提示找不到文件,所以怀疑是第一行没有成功调用 ruby。
    试试用 ruby 手动运行脚本,果然提示 shellbang 有一个\r,可能会造成问题。

    [img][/img]
    转成 16 进制看下,查了下 ASCII 字符 16 进制的代码,果然一堆 CR 符 \r 0x0d,windows 系统的换行是\r\n,先回车(carriage return),再换行(line feed),可以追溯到打字机时代。而 linux 直接\n 就换行了

    [img][/img]
    最简单方法,写个脚本二进制打开程序文本,删除所有 0d。记得去年上 socket 编程的时候,老师第一个教的程序就是在 linux 和 windows 之间转换文本,就是这样实现的

    但是这样的话,每次写两行想测试的时候,就得手动运行下转换程序,额外增加了负担(我保存 ctrl S 都懒得按,用的是 notepad++的窗口失去焦点自动保存。。。)

    但我又不想用 ssh 客户端的垃圾编辑器,于是将就一下,手动再 linux 里用 vim 敲第一行,剩下的 notepad++ ssh 就可以继续写了


    还有什么坑,想想继续码字
    第 1 条附言    2020-03-10 17:38:39 +08:00
    perl 父子进程间 pipe 通信的一个小坑

    如图,在 print 函数中,如果字符串结尾不加 换行符,则程序卡住毫无显示
    粗浅分析,是子进程输出语句没有\n 结尾无法结束,而父进程也苦苦等待子进程的输出,程序也一直卡住陷入死锁。
    加上换行符一切正常


    还有之前的一个程序,要父子进程间互相通信,然后输出报告

    还是 pipe 的 print 函数,多加了一个\n (两个换行符),直接把我下一行输出挡住了。。。



    /****************************************************/
    很神奇,几个 bug 看了一下午,头大
    18 条回复    2020-03-11 07:57:09 +08:00
    ColinChang
        1
    ColinChang  
    OP
       2020-03-10 16:29:51 +08:00
    v2ex 图片咋不能显示。。。
    lovedebug
        2
    lovedebug  
       2020-03-10 16:37:05 +08:00
    winscp 不香吗? 可以试试
    ColinChang
        3
    ColinChang  
    OP
       2020-03-10 16:41:57 +08:00
    @lovedebug 学校的电脑用的就是 winscp,确实挺好用的
    ReVanTis
        4
    ReVanTis  
       2020-03-10 16:45:41 +08:00
    notepad++里你直接点右下角的 Windows (CR LF)就可以改全文的 line ending 编码…不知道和你的这个插件兼容不兼容…
    ColinChang
        5
    ColinChang  
    OP
       2020-03-10 16:50:29 +08:00
    @ReVanTis 诶,还真的可以,学习了,好方法
    loading
        6
    loading  
       2020-03-10 17:07:26 +08:00   2
    这功能居然真有人用,佩服。
    askfilm
        7
    askfilm  
       2020-03-10 17:12:30 +08:00
    notepad++ 以前感觉挺好用, 但是去年因原则性问题卸载. 已无好感.
    jin7
        8
    jin7  
       2020-03-10 17:24:03 +08:00
    notepad++可以设置默认换行符吧
    CallMeReznov
        9
    CallMeReznov  
       2020-03-10 17:26:17 +08:00
    这功能居然真有人用,佩服。
    jht
        10
    jht  
       2020-03-10 17:27:56 +08:00 via Android
    Mobaxterm 很香的呀,用用试试。
    ColinChang
        11
    ColinChang  
    OP
       2020-03-10 17:40:55 +08:00
    @jht 我觉的 mobaxter 编辑器的 ui 不好看,缩进也有点问题
    而且之前写 golang (好像是)的时候不能语法高亮
    狗头
    jht
        12
    jht  
       2020-03-10 17:51:58 +08:00 via Android
    @ColinChang jet 家的 ide 可以远程部署开发的,试试看
    ColinChang
        13
    ColinChang  
    P
       2020-03-10 17:56:09 +08:00
    @jht ok 试试看
    jobtesting
        14
    jobtesting  
       2020-03-10 20:03:52 +08:00 via iPhone
    这个软件的作者好像辱华的?
    Aoerz
        15
    Aoerz  
       2020-03-10 20:14:41 +08:00 via Android
    可以试试 vscode 的 remote-development
    crella
        16
    crella  
       2020-03-10 20:18:10 +08:00 via Android
    个人感觉 np++已经是轻量级编辑器里面支持 ruby 语法高亮的最好的一个了。

    vsc 折腾不会,配色也比 np++默认的差(指 ruby)
    ColinChang
        17
    ColinChang  
    OP
       2020-03-11 07:50:40 +08:00 via iPhone
    @Aoerz 谢谢
    ColinChang
        18
    ColinChang  
    OP
       2020-03-11 07:57:09 +08:00 via iPhone
    @crella 对,写写脚本语言,简单的程序还行,复杂的项目还是得好的 ide。只不过我这学期很奇怪,上的课都是这些 loose syntax 的语言,用 np 学校家里迁移起来也比较方便,不用打开项目打开半天……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     838 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:38 PVG 05:38 LAX 14:38 JFK 17:38
    Do have faith in what you're doing.
    ubao 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