V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
haibian
V2EX  ›  Linux

怎么解释 vim 和 shell 的区别和联系,以及用途?

  •  
  •   haibian · 2015-11-05 00:38:32 +08:00 · 6188 次点击
    这是一个创建于 3324 天前的主题,其中的信息可能已经有所发展或是发生改变。
    18 条回复    2015-11-05 14:50:42 +08:00
    Tink
        1
    Tink  
       2015-11-05 00:39:42 +08:00 via iPhone
    vim 能写 shell 脚本啊
    kchum
        2
    kchum  
       2015-11-05 00:43:32 +08:00 via iPhone
    一个是编辑器,一个是编程语言
    tracyone
        3
    tracyone  
       2015-11-05 00:43:56 +08:00 via Android
    shell 里面启动 vim , vim 里面可以调用 shell 命令,可以内嵌 shell , vim 脚本里面可以执行 shell , vim 可以执行 vim 脚本…

    shell 是应用程序与操作系统内核通信的一个中间的组件, vim 是一个程序,在 shell 里面运行后变成一个进程…
    chairuosen
        4
    chairuosen  
       2015-11-05 00:45:27 +08:00   ❤️ 1
    雞包包雞包包雞包紙包紙包雞包包雞紙包雞包紙包雞
    haibian
        5
    haibian  
    OP
       2015-11-05 00:56:36 +08:00
    @Tink 是啊,在学习 linux 系统命令行,被 vim 和各种 shell 搞晕了,从 shell 可以进入 vim ,在 vim 中可以切换命令行模式
    haibian
        6
    haibian  
    OP
       2015-11-05 00:57:50 +08:00
    @kchum vim 是编辑器, shell 是命令行解释器,刚才学到的,别骗我,嗯哼
    haibian
        7
    haibian  
    OP
       2015-11-05 01:00:14 +08:00
    @tracyone 赞!
    haibian
        8
    haibian  
    OP
       2015-11-05 01:01:16 +08:00
    @chairuosen 你这解释。。。
    ibigbug
        9
    ibigbug  
       2015-11-05 01:39:36 +08:00
    vim ---> 记事本.exe
    shell ---> 桌面

    表面可以这么理解
    qw7692336
        10
    qw7692336  
       2015-11-05 01:48:31 +08:00 via Android
    @ibigbug shell 应该叫命令提示符
    secondwtq
        11
    secondwtq  
       2015-11-05 08:11:44 +08:00 via iPhone
    shell 还可以进入 *vim 模式*
    SYP
        12
    SYP  
       2015-11-05 09:12:53 +08:00
    这两个就没有联系。
    Shieffan
        13
    Shieffan  
       2015-11-05 09:51:36 +08:00
    卵疼,没有鸡毛关系,互不依赖
    Banio
        14
    Banio  
       2015-11-05 10:05:33 +08:00   ❤️ 1
    两者毛线联系都没有
    vim 是文本编辑器 类似 win 的 记事本.exe
    shell 是命令解释器 类似 win 的 CMD.exe
    yuriko
        15
    yuriko  
       2015-11-05 10:22:06 +08:00
    狭义上, shell 就是个命令解析器。广义上还指其对应的脚本语言,有时还会指相关脚本代码

    shell 是和 linux 交互的主要入口,用户通过给予命令行指令交由 shell 解析处理,或者编写 shell 脚本,执行批处理,来运行工作需要的各种程序

    vi 只是个文本编辑程序,因为历史原因,并没有 GUI 界面,通过在命令行里显示来实现效果,本质上和其他命令行程序并没有区别
    GNiux
        16
    GNiux  
       2015-11-05 12:57:50 +08:00 via iPhone
    哈为什么我不觉得这两个容易混淆呢?………(业余爱好者路过……
    fengyqf
        17
    fengyqf  
       2015-11-05 13:23:53 +08:00
    想像 *nix 系统是一个车间
    shell 是车间里的工作台,可以安装各种工具,并且通常已经安装了多种工具
    vim 是一台切割机,也安装在工作台上(它本身并不是工作台),当然你可以把它放到地板上使用,甚至拉到山洞(类比 windows )里使用
    如果有必要,你可以换个工作台( bash 换 csh ),然后把这些工具装上去
    vim 是一种工具,它也是切割东西用的(编辑文件),也可以用来制造工具,比如把钢材切成刀片(写 shell 脚本),然后放到工作台上使用(运行 shell 脚本)
    julyclyde
        18
    julyclyde  
       2015-11-05 14:50:42 +08:00
    文科生?请先搞清楚区别与联系的区别与联系:站高点儿说,区别与联系都是事物之间的关系,站低了说,一个说的是共性一个说的是特性

    vim 和 shell ,联系是“都是程序”,区别是“不是一样的程序”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3280 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.