VIM和shell的切换

本章深入讨论如何让其它程序跟 Vim 混用。或者从 Vim 内部执行别的程序,或者暂时先离开 Vim 而于执行了那个程序后再回来。而且,本章将进一步介绍如何记住 Vim 的当前0状态,并在以后把它还原回来。
挂起和恢复在图形化里面大概就没什么用了。(作用等同鼠标的最小化)简单的说一下:用CTRL-Z 挂起。这个动作把 Vim 停下来,并让你回到那个你启动 Vim 的命令 shell 里。然后再用 "fg" 命令回到 Vim。
当你按 CTRL-Z 行不通时,你还可以用命令 ":suspend"。别忘了把 Vim 引导回前台,否则你会失去你所有的修改!

执行 shell 命令
从 Vim 内部执行单个 shell 命令,用 ":!{command}"。
Vim 将执行该程序。当它结束时,你会得到提示,让你击打 <Enter>。这提示允许你 在回去编辑你的文本之前看一看该命令的输出。

字符 "!" 也用在其它有个程序被调用运行的场合。让我们看一看共有哪些:
        :!{program}             执行 {program}
        :r !{program}           执行 {program} 并读取其输出
        :w !{program}           执行 {program} 传送文本至其输入
        :[range]!{program}      经由 {program} 过滤文本

注意 "!{program}" 前面那个作用区产生的区别可大了。不附带作用区,这个程序就跟通常一样被执行,而加了这个作用区,作用区内的文本行就经由该程序过滤而出。
用这种方法执行一系列命令也是可以的。但 shell 在此却更胜一筹。你可以用这种方法启动一个新 shell:
        :shell 
这有点类似于用 CTRL-Z 来挂起 Vim。不同之处在于这种方法启动的是一个新 shell。
(经本人试验,在输入:shell以后是在vim内开启终端,相当的方便,不过也有问题是此时的vim和shell不能独立分开,返回vim的话只有关闭shell)

会话(此处的东西,看上去还是比较有用的,不过在图形话的今天,大概就没多大必要了.猜的~呵呵)

这是下面要将的方法的作用,各位先看下,如果觉得对你有用,就继续向下看:

假定你编着编着,编到那一天要结束了。你想放下手上的工作,而于第二天再从你停下来的那地方继续编下去。你可以做到这一点,只要把你的编辑会话保存起来,第二天再把它还原回来。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vim 会话存放着所有跟你的编辑相关的信息。这包括诸如文件列表、窗口布局、全局变量、选项、以及其它信息。(究竟什么信息被记住,则由选项 'sessionoptions' 控制,稍后叙述。)
下面这个命令创建一个会话文件:
        :mksession vimbook.vim 
如果你以后要还原这个会话,你可以用这个命令:
        :source vimbook.vim 
如果你要启动 Vim 并还原某个特别的会话,你可以用下面这个命令:
        vim -S vimbook.vim 

这命令告诉 Vim 在启动时读取一个特定的会话文件。参数 'S' 指会话 (实际上,你可以用 -S 运行任何 Vim 脚本,因而,你也不妨指其为运行脚本,"source")。

那个曾经打开的窗口就还原了,跟以前一样的位置和大小。映射和选项值也像以前一样。   究竟还原了什么取决于 'sessionoptions' 选项。默认值为 "blank,buffers,curdir,folds,help,options,winsize"。
        blank           保留空窗口
        buffers         所有缓冲区,而非仅仅一个窗口内的
        curdir          当前目录
        folds           折叠,包括人工创建的
        help            帮助窗口
        options         所有选项和映射
        winsize         窗口大小

你爱怎么改就怎么改。例如,除了上述项目以外,你还要还原 Vim 窗口大小:
        :set sessionoptions+=resize
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值