开发周期不是一两天, 要把当前的窗口布局, 命令历史/寄存器历史等保存下来,以便下次编写时快速恢复.
需要保存两个方面的信息:
session: 保存窗口的view试图窗口布局, 和全局设置 :mksession [Session.vim]
导入会话文件: source <sessionfile> // source 是linux中bash脚本的命令,相当于include, 在bash中,就是把脚本执行一次<sessionfile.vim>中
是脚本命令...
当你的项目有多个不同版本(位于不同的目 录),而你想始终使用一个会话文件时,使用选项: sessionoptions-=curdir sessionoptions+=sesdir,
你只需要把会话文件拷贝到不同的目录,然后使用就可以了. 会话文件中保存的是文件的相对路径,而 不是绝对路径.
viminfo: 保存编辑历史/jump历史, 寄存器等信息, :wviminfo <文件名称>
默认vim每次退出后都会写一个.viminfo文件到用户的家目录~ ,如:/root中, 但是这个.viminfo会在每次使用vim后自动更新...
读入viminfo, :rviminfo <文件名称>
-------------------------------------
:cd src '切换到/home/easwy/src/vim70/src目录
:set sessionoptions-=curdir '在session option中去掉curdir
:set sessionoptions+=sesdir '在session option中加入sesdir
:mksession vim70.vim '创建一个会话文件
:wviminfo vim70.viminfo '创建一个viminfo文件
:qa '退出vim
:source ~/src/vim70/src/vim70.vim '载入会话文件
:rviminfo vim70.viminfo '读入viminfo文件
文件的last modified时间 属性对普通应用来说,没有多少意义和影响, 但是对于编程和编译器来说,就有很大关系了,
编译器就是通过last modified time来判断这个文件如.c, .cc文件是否"过时", 来决定是否对它进行编译.在编译大型项目,如操作系统源码一次
编译可能要几个小时, 所以如果文件没有修改, 最好用 :x命令.
:x ~= :wq , :x也是写入并退出,但是 如果文件内容没有改变, 这时将不会改变文件的last modified; 而:wq则不管文件的内容改变没有, 都会强制
地写入文件,并改变last modified.
所以推荐使用:x命令, 代替:wq命令 , 当然对多窗口而言, :x会隐藏文件窗口, 但不会退出vim.
在:w :q :x后面加上a, 表示all , 对all打开的文件进行操作
vim的bash命令历史 不同于 windows, 对linux, 历史命令保存在文件中: ~/.bash_history中, 即使你关闭了bash, 再次打开bash仍然能够
引用历史命令, 而win它的cmd的历史命令是存放在内存中的,退出cmd, 就没有了, 再次打开cmd就引用不到以前的命令了...
单独的一个y, 要和移动命令一起使用, yy=Y 大写的Y也是复制一行;
vim对文件的加密操作: 在bash命令行使用: gvim -x <filename> 或 在vim中执行命令 :X