vim便捷操作

分屏

原文:https://blog.csdn.net/shuangde800/article/details/11430659

:split    新建一个窗口,将当前窗口分割成两半,他们显示的是相同缓冲区的内容(同一个文件)。这样就可以在两个窗口中浏览相同的文件了。

:vsplit   创建全新的垂直分割的窗口,同样是显示和当前窗口同一个文件内容。效果如下:

当多个窗口编辑同一个文件时,在任意一个窗口进行编辑(例如删除一行),那么所有相同文件的窗口上都会同时反应效果,因为他们共享同一个文件缓冲区。

如果想编辑或浏览另一个文件,而又不想失去在当前文件中的编辑位置,就用新文件的参数传给:split命令

:split  otherfile

分页(tab)

vim还允许创建多个分页(tab),每个分页各有独自的行为,类似于浏览器firefox或chrome的分页浏览功能。

我们可以在vim或gvim中使用分页,但在gvim会更好用。

最终要的命令

:tabnew filename  打开新分页并编辑新文件(可选的)。如果未指定文件,则只打开新分页,并附上空的缓冲区。

:tabclose  关闭当前分页

 :tabonly  关闭其他所有的分页。如果其他分页中有修改过的文件,则不会移除该分页,除非设置了autowrite选项。此时,所有修改过的文件都在分页关闭前写入磁盘。

可以直接点鼠标来移动到另一个分页,也可以用命令

Ctrl + PageDown:移动到下一个分页

Ctrl + PageUp:移动到上一个分页

多窗口操作

打开多个文件:
1.vim还没有启动的时候:
在终端里输入 
vim file1 file2 ... filen便可以打开所有想要打开的文件
2.vim已经启动
输入
:open file
可以再打开一个文件,并且此时vim里会显示出file文件的内容。

原文:https://blog.csdn.net/cws1214/article/details/11707183

:tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab
:tabc       关闭当前的tab
:tabo       关闭所有其他的tab
:tabs       查看所有打开的tab
:tabp      前一个
:tabn      后一个
标准模式下:
gt , gT 可以直接在tab之间切换

折叠功能

原文:https://blog.csdn.net/zcube/article/details/42325741

配置折叠https://blog.csdn.net/barrycg/article/details/7295885

折叠方法:

1 manual (不常用)默认折叠方法,如上面第7步即为该方法,关闭vim折叠会丢失。如果想保持折叠信息,可运行 :mkview 命令,重启后用 :loadview 命令回复。该命令生成的缓存文件位于 ~/.vim/view 文件夹中。移动或重命名文件,折叠信息依然会丢失。

2 indent (常用)缩进折叠方法,相同的缩进中代码会被折叠。

3 syntax (不常用)语法高亮折叠,在c/c++中会折叠花括号部分,其它格式代码中有的不能自动折叠。

4 marker (常用)标记折叠方法,如上面1-6所使用的方法。关闭vim折叠信息不会丢失,而且易用控制和标注。

5 还有两种 diff 和 expr,目前我还没有用过。

具体介绍:

1 以 marker 为例,可以在vim中运行 :set fdm=marker 来设置折叠方法设置。折叠方法的时候,= 两边不能有空格。也可以将该命令添加到~/.vimrc中,实现vim自动加载。

2 在使用小试折叠中 2 3 步折叠的时候,vim会自动添加三个连续的花括号作为标记,可在开始的花括号前添加介绍,花括号后添加级别号,级别号不能为0。如:/*折叠介绍{{{1*/ /*}}}*/

3 级别的定义稍显复杂。在一般编码中,通常把不需要修改的代码添加标记折叠。没有必要在给折叠分等级。如果想快速折叠就切换为indent折叠方面,适用于任何有缩进的代码。

小试折叠:

1 :set fdm=marker 在vim中执行该命令

2 5G 将光标跳转到第5行

3 zf10G 折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记

4 zR 打开所有折叠

5 zM 关闭所有折叠

6 zE 删除所有的折叠标签

7 退出vim窗口再次打开,执行2-6步。依然可以折叠,但是没有标记了。重新打开后折叠信息会丢失。

折叠命令:

1 zf 创建折叠,可以按照前面的方式进行折叠,也可以选中代码后进行折叠。

2 zF 在当前行创建折叠。当一开始就计划要折叠所写代码的时候,可以用该命令创建一对折叠符号,然后再往里面填写内容。

3 :5,10fo 在vim中运行该命令会在折叠 5-10 行中的代码,可以用其它数字代替之。

4 zd 删除光标下的折叠。

5 zD 删除光标下的折叠,以及嵌套的折叠。

6 zE 删除窗口内的所有折叠。仅当 manual 和 marker 折叠方法下有效。

打开和关闭折叠:

1 zo 打开光标下的折叠。

2 zO 打开光标下的折叠,以及嵌套的折叠。

3 zc 关闭光标下的折叠。

4 zC 关闭光标下的折叠,以及嵌套的折叠。

5 za 当光标在关闭折叠上时,打开之。在打开折叠上时,关闭之。

6 zA 和za类似,不过对当前折叠和其嵌套折叠都有效。

7 zv 打开当前光标所在折叠,仅打开足够的折叠使光标所在的行不被折叠。

8 zr和zm 一层一层打开折叠和一层一层关闭折叠,这两个命令会递减和递增一个叫foldlevel的变量。如果你发现zm和zr不灵了,那有可能是你连续按的zr或zm次数多了,只要多按几次让foldlevel回到正常状态即可。执行以下zR和zM也可直接让foldlevel回到正常状态。

9 zR和zM 打开所有折叠,设置foldlevel为最高级别。关闭所有折叠,设置foldlevel为0。

在折叠间移动:

1 [z 到当前打开折叠的开始。如果已在开始处,移到包含这个折叠的折叠开始处。

2 ]z 到当前打开折叠的结束。如果已在结束处,移到包含这个折叠的折叠结束处。

3 zj 把光标移动到下一个折叠的开始处。

4 zk 把光标移动到前一个折叠的结束处。

参考:

在vim中运行 :h Folding 命令,查看折叠的帮助文档。

批量注释

原文:https://www.cnblogs.com/Dennis-mi/articles/5939635.html

行首 :%s/^/your_word/

行尾 :%s/$/your_word/

按键操作:

注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如”#”,再按Esc,就会全部注释了。

删除:先按v,进入visual模式,横向选中列的个数(如”#”注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号(#)。

PS:当然不一定是shell的注释符”#”,也可以是”//”,或者其他任意的字符;vim才不知道什么是注释符呢,都是字符而已。

使用替换命令:

在全部内容的行首添加//号注释

:% s/^/\/\//g

在2~50行首添加//号注释

:2,50 s/^/\/\//g

在2~50行首删除//号

:2,50 s/^\/\///g

猜你喜欢

转载自blog.csdn.net/qq_27178453/article/details/81413878