您的位置:首页 > 其它

vim多文件操作及Window

2013-01-29 15:17 309 查看
Marks

vim可以设置书签,这样在文件内到处跳转后,可以跳转回来。比如在你想要跳回来的某一行按下ma,(可以按m[a-z]即26种选择)

然后跳转到别处时,再次按下`a,就会跳转回到你指定的行数.

当然,mark比较有用的场合在于删除多行。比如你想删除指定区间的行数,而你又不想记住这两行的行数,即可在删除区间的第一行按下ma,记录下mark a,

然后将光标移到删除的最后一行,再次按下d'a,即可删除区间内的行数

Filter

!motion command将一个块中的文字替换成命令处理后的字符。

比如,想将一个文件第一个行到第10行按照字母排序,其他行不动,我们可以这样操作:

1. ! 按下感叹号,让vim处于Filter状态下,

2. 10G 输入10G,即从当前行往下10行处于filter状态

3.输入 sort<Enter> 即输入sort按回车。

整个命令为: !10Gsort<Enter>,那么其结果将会把第一行到第十行进行排序。

当然实际当中用得最多的还是对某一个行进行替换,比如,我想替换第33行为当前的日期,那么我可以首先按33G跳转到33行,然后按!!,让当前行处于Filter状态下,然后按date,即 !!date.

Window

最简单开启一个新窗口的命令是:split,这样就把当前文件分割为两个窗口,当然也可以使用:split file,

让新窗口显示指定的文件内容,在窗口之间跳转可以使用Ctrl+wj或者Ctrl+wk

上下移动窗口。可以给新建的窗口指定大小,比如 :3 split test.txt,新建窗口显示test.txt的内容,但是只有3行高大小

如下图:



:new 命令同:split,只是跳转的文件不是当前编辑的文件,而是在新窗口中的文件

Buffers

vim的buffer有三种状态:

1. Active 有窗口

2. Hide 文件正在编辑,但是不现实在屏幕上

3. InActive 文件不是出于编辑状态,但是保存所有在缓存中的操作

对于InActive状态,有一点需要说明,当编辑另外一个文件时,出于当前编辑状态的文件的内容并不需要了,这个时候vim就丢弃了,但是它的marks和其他一些信息依然有用。

查看缓存列表:

:buffers

缓存的状态标志如下:

- InActive Buffer

h Buffer is Hidden

% Current Buffer

# Alternate Buffer

+ 文件出于编辑状态








Alternative指的是当前编辑文件之前最后一次编辑的文件

Select Buffer

:buffer number或者:buffer file
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: