Vim使用技巧汇总

时间:2023-03-08 17:13:32

一 写在开头

1.1 本文内容

Vim使用技巧与学习资源汇总,不定期更新。

二 Vim学习资源

1. Vimtutor

2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/)

三 Vim使用技巧

Tips 1 : 如何在写代码时将输入的TAB转换成4个空格?

将以下代码写入你的.vimrc文件中。

set ts=
set expandtab
%retab!

Tips 2 : 如何显示行号?

将以下代码写入你的.vimrc文件中。

set nu

Tips 3 : Vim中如何进行撤销和恢复撤销?

撤销:u(命令模式下,小写)

恢复撤销:Ctrl + r

Tips 4 : Vim如何打开特定文件类型关联缩进?

将下面的代码写入你的.vimrc文件中。

filetype indent on

Tips 5: Vim中的光标跳转命令有哪些?

基本移动:

h(往左) j(往下) k(往上) l(小写字母l,往右)

行间移动:

快速跳至文件末行:G(大写字母G)

快速跳至文件首行:1G(数字1加大写字母G)

跳至指定第n行:nG(数字n加大写字母G)

快速移动至光标所在行的行首:Home键或者0(数字0)或者^(即Shift + 6)

快速移动至光标所在行的行尾:End键或者$(即Shift + 4)

Tips 6: Vim中的代码折叠

折叠第5到第10行的代码,使用以下命令:

:,10fo

要想将折叠的代码打开,可以将光标移动到折叠所在行,然后使用以下命令:

注意:

zd

注意:zd是将此折叠删除!如果你不想将此折叠删除,只是想将折叠展开查看代码,然后再一次将折叠关闭,请使用下面的命令!

使用zo命令打开指定的折叠,使用zc命令关闭指定的折叠。

在VIM中设定自动折叠方式,以常用的indent方式为例。使用下面的命令,VIM会自动将所有函数大括号内的内容按缩减自动折叠

:set fdm=indent

经过一段时间的摸索,现在将我最喜欢的“VIM代码折叠套路”总结如下:

首先设置折叠方式为indent,

:set fdm=indent

使用zo命令展开折叠内容查看代码,

zo

查看完毕后,将光标移动到折叠块的开头大括号处,使用zm命令再次折叠这块代码。

zm

Tips 7: Vim中按Ctrl+S后假死了怎么办?

在使用VIM时如果不小心输入了“Ctrl+S”,你会发现VIM这时候假死了!怎么办?

按“Ctrl+Q”退出假死状态

Tips 8: Vim中的批量注释取消注释

法一:使用Ctrl+V进入visual block模式

按Ctrl+V进入visual block模式,选中要注释的行,

Vim使用技巧汇总

然后按I(大写的I)进行行首插入模式,输入//(C++)或者#(python),

Vim使用技巧汇总

按ESC退出行首插入模式,被选中的行所有行首都被添加了注释//(C++)或者#(python)

Vim使用技巧汇总

如果要取消注释,按Ctrl+V进入visual block模式,选中每行行首的注释//,注意这两个斜杆都得选中,

Vim使用技巧汇总

然后按d(小写d),这样所有注释行的行首//都会被删除

Vim使用技巧汇总

法二:使用替换功能

举例,在第1到第11行的行首添加注释//,使用下面的命令 ,这个时候使用井号(#)作为分隔符。

,11s#^#//#g

Vim使用技巧汇总

Vim使用技巧汇总

如果想取消上面所做的注释,可以使用下面的命令。

,11s#^//##g

举例,在第1到11行添加注释#,可以使用下面的命令,这个时候斜杠(/)是分隔符。

,11s/^/#/g

Vim使用技巧汇总

Vim使用技巧汇总

如果想取消上面所做的注释,可以使用下面的命令。

,11s/^#//g

Vim使用技巧汇总