Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1351155
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

分类: LINUX

2012-02-08 14:19:53

本章深入讨论如何让其它程序跟 Vim 混用。或者从 Vim 内部执行别的程序,或者暂时先
离开 Vim 而于执行了那个程序后再回来。而且,本章将进一步介绍如何记住 Vim 的当前0
状态,并在以后把它还原回来。

----

挂起和恢复在图形化里面大概就没什么用了。(作用等同鼠标的最小化)

简单的说一下:用CTRL-Z 挂起。这个动作把 Vim 停下来,并让你回
到那个你启动 Vim 的命令 shell 里。然后再用 "fg" 命令回到 Vim

当你按 CTRL-Z 行不通时,你还可以用命令 ":suspend"。别忘了把 Vim 引导回前
台,否则你会失去你所有的修改!

----
执行 shell 命令

Vim 内部执行单个 shell 命令,用 ":!{command}"

Vim 将执行该程序。当它结束时,你会得到提示,让你击打 。这提示允许你 在回去编辑你的文本之前看一看该命令的输出。

字符 "!" 也用在其它有个程序被调用运行的场合。让我们看一看共有哪些:

        :!{program}             执行 {program}
        :r !{program}          
执行 {program} 并读取其输出
        :w !{program}          
执行 {program} 传送文本至其输入
        :[range]!{program}     
经由 {program} 过滤文本

注意 "!{program}" 前面那个作用区产生的区别可大了。不附带作用区,这个程序就跟
通常一样被执行,而加了这个作用区,作用区内的文本行就经由该程序过滤而出。

用这种方法执行一系列命令也是可以的。但 shell 在此却更胜一筹。你可以用这种方法
启动一个新 shell:

        :shell 
这有点类似于用 CTRL-Z 来挂起 Vim。不同之处在于这种方法启动的是一个新 shell
(
经本人试验,在输入:shell以后是在vim内开启终端,相当的方便,不过也有问题是此时的vimshell不能独立分开,返回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

阅读(10621) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

itisthinktime2012-03-10 21:06:24

学习了