我的日常Vim使用--移行幻影
1、窗口
1)在多个窗口中编辑多个文件
vim a.txt b.txt c.txt
将会打开3个窗口,分别编辑各自的文件,在任何一个窗口中用命令
:next :previous
可以到达下一个窗口或者到达前一个窗口。默认情况下但前只显示一个窗口
:last :first 分别可以到达第一个和最后一个窗口
2) 在单个窗口中的多个页编辑多个文件
:tabnew a.txt
可以在但前窗口中新生成一个页面,在窗口的顶部可以看到多出来的页面
gt命令可以在多个页面之间切换
:tabonly
可以在仅保留当前页而关闭其他页
3) 在当个窗口中编辑多个文件
:split
可以在但前窗口内的下半部分打开一个分隔窗口,其内容和之前的一样,并且二者会同步变化。
:split d.txt
则可以在分隔窗口中编辑一个新的文件,工作目录为当前目录
:vsplit 可以右边即垂直分隔窗口 :vsplit d.txt类似
Ctrl + w +h/j/k/l 可以将光标向相应的方向移动一个分隔窗口
而Ctrl + w + H/J/K/L 则可以将光标所在分隔窗口向相应的方向移动一个窗口
:qall
可以关闭所有窗口
4) 编辑目录
vim 有一个编辑目录的插件,默认情况下是安装好了的。可以使用
:edit .
来打开当前目录,可以将.替换成其他路径
R
命令可以修改但前文件的文件名,实际上是调用了shell的命令,回车确定
D
命令可以删除当前文件,同R一样他也是调用了shell命令
在当前窗口里
:edit a.txt
可以完成上次编辑,重新编辑一个新的文件,必要的时候会提示保存上次文件。
2、格式
1)高亮
由于安装vim时默认已经配置好了部分语法高亮(几乎包括了所有的编程语言),只要打开文件类型检查就可以了
filetype plugin on
也可以自己定义高亮,比如自己在编辑文档时,可以把标题高亮(参见usr_44)
2) 缩进
vim可以提供几种缩进,首先要打开缩进
indent on
然后可以打开c缩进
set cindent
其他语言可以自己搜索下
3)会话,viminfo
会话可以保存上次记录会话时vim的窗口状态,包括的内容在sessionoptions里面可以设置,可以help一下,
这里默认就好。而viminfo还可以记录寄存器等值,如果想像IDE一样恢复莫个工程的编辑环境
只要在退出时
:mksession project.vim
:wviminfo project.viminfo
即可,在进入时
:source project.vim
:rviminfo project.viminfo
就可以恢复了。