linux的vim中乘号,vim 技巧 - fly_lixiaolong的个人页面 - OSCHINA - 中文开源技术交流社区...

一、VIM设置代码折叠

×××××××××××××××××

今天看了一下别人写的程序的源代码,发现是用vim写的,代码中有趣是用vim来折叠代码,一开始我以为是用插件的,后来

上网查了查,得出以下使用方面的技巧。

1. 折叠方式

可用选项来设定折叠方式:

可在Vim 配置文件中设置 set fdm=XXX

可直接在文件中使用注释调用vim命令 /* vim: set fdm=XXX: */

有6种方法来选定折叠:

manual          手工定义折叠

indent           更多的缩进表示更高级别的折叠

expr              用表达式来定义折叠

syntax           用语法高亮来定义折叠

diff                对没有更改的文本进行折叠

marker           对文中的标志折叠

注意,每一种折叠方式不兼容,如不能既用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

使用时,用 set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。

要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。

2. 折叠命令

选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。

在可折叠处(大括号中间):

zc      折叠

zC     对所在范围内所有嵌套的折叠点进行折叠

zo      展开折叠

zO     对所在范围内所有嵌套的折叠点展开

[z       到当前打开的折叠的开始处。

]z       到当前打开的折叠的末尾处。

zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。

zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动

3.创建和删除折叠

zf      创建折叠,比如在marker方式下:

zf56G,创建从当前行起到56行的代码折叠;

10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。

10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。

在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。

zd      删除 (delete) 在光标下的折叠。

仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

zD     循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。

仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

zE      除去 (Eliminate) 窗口里“所有”的折叠。

仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

二、VIM调整分割窗口的高度和宽度

×××××××××××××××××

1.调整宽度

vim多窗口有时候需要调整默认的窗口宽度和高度,可以用如下命令配合使用

CTRL-W =        使得所有窗口 (几乎) 等宽、等高,但当前窗口使用 'winheight' 和 'winwidth'。

:res[ize] -N

CTRL-W -        使得当前窗口高度减 N (默认值是 1)。如果在 'vertical' 之后使用,则使得宽度减 N。

:res[ize] +N

CTRL-W +        使得当前窗口高度加 N (默认值是 1)。如果在 'vertical' 之后使用,则使得宽度加 N。

:res[ize] [N]

CTRL-W CTRL-_

CTRL-W _        设置当前窗口的高度为 N (默认值为最大可能高度)。

:vertical res[ize] [N]

CTRL-W |        设置当前窗口的宽度为 N (默认值为最大可能宽度)。

z{nr}       设置当前窗口的高度为 {nr}。

CTRL-W 

CTRL-W >        使得当前窗口宽度加 N (默认值是 1)。

2.整个窗口的移动

CTRL-W-H 将窗口移到最左边

CTRL-W-L 将窗口移到最右边

CTRL-W-J 将窗口移到底端

CTRL-W-K 将窗口移到顶端

三、VIM窗口跳转

vim中在分割的多个窗口间跳转的最简单方法,就是借助CTRL+w组合命令和vim中的上下左右快捷建(h,j,k,l)

CTRL+w+h :转到当前窗口的左侧窗口

CTRL+w+j :转到当前窗口的下侧窗口

CTRL+w+k :转到当前窗口的上侧窗口

CTRL+w+l :转到当前窗口的右侧窗口

CTRL+w+w :多个窗口间快捷跳转

四、VIM居中编辑行

×××××××××××××××××

我们编辑文件时,文件长了之后可编辑行一直是在窗口最下面,  要移动到窗口中间可以同过

'zz'快捷键。

另外可以设置vim 的下面选项

'scrolloff'/ 'so'

#总在中间

:se so=999

#下面总有3行

:se so=3

五、VIM中浏览目录

1.浏览目录

浏览目录的命令很简单:(你也可以直接vim一个目录)

:Ex 浏览目录,会在当前窗口打开并显示目录

这个界面中,你可以用 j, k 键上下移动,然后回车,进入一个目录,或是找开一个文件。你可以看到上面有一堆命令:这个界面中,你可以用 j, k 键上下移动,然后回车,进入一个目录,或是找开一个文件。你可以看到上面有一堆命令:

【-】 到上级目录

【D】删除文件(大写)

【R】改文件名(大写)

【s】对文件排序(小写)

【x】执行文件(小写)

当然,打开的文件会把现有已打开的文件给冲掉——也就是说你只看到了一个文件。

如果你要改变当前浏览的目录,或是查看当前浏览的目录,你可以使用和shell一样的命令:

:cd 

:pwd - 查看当前目录

2.窗口分屏浏览

相信你在《Vim的窗口分屏》一文中,你已经知道了怎么拆分窗口了。其实,我更多的不是用拆分窗口的命令,而是用浏览文件的命令来分隔窗口。如:

:Hex   全称为 :Hexplore

把当前窗口上下分屏,并在下面进行目录浏览;

:He!

如果你要在上面,你就在 :He后面加个 !;

:Ve 全称为 :Vexplore 。

如果你要左右分屏的话,你可以这样;

3.分屏同步移动

要让两个分屏中的文件同步移动,很简单,你需要到需要同步移动的两个屏中都输入如下命令(相当于使用“铁锁连环”):

:set scb

如果你需要解开,那么就输入下面的命令:

:set scb!

注:set scb 是 set scrollbind 的简写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值