VIM操作摘记

本文介绍VIM编辑器的实用操作技巧,包括多标签管理、vimgrep搜索、代码折叠、光标移动、标记跳跃、选中与删除操作、多窗口管理等,助您提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VIM操作摘记

deran pan, vim-001

1. VIM的多标签操作:

命令说明
:tabnew file对新文件建立一个tab
:tabc关闭当前的tab
:tabo关闭其他的所有的tab
:tabs查看所有打开的tab
:tabp前一个
:tabn后一个
:tabfirst移动到第一个标签页
:tablast移动到最后一个标签页

  标准模式下gt,gT也可以直接在tab之间切换。
  :help table 可以看到所有的帮助

2. VIM中vimgrep查找命令

用法:

vimgrep /{partten}/g {file}
参数说明
参数g匹配每一行每一个匹配点,否则只匹配第一个匹配点
参数j查找结果只更新到结果列表(quickfix),否则跳转至第一个匹配点

example:

  在当前目录下所有文件中查找字符串“main”

:vimgrep /main/ .

  在当前目录及其子目录下所有文件中查找字符串“main”

:vimgrep /main/ */.*

附:查找的结果可以用:copen查看

命令说明
:copen打开quickfix
:cclose关闭quickfix
:cc跳转到当前查找位置
:cn转到下一个位置
:cp转到上一个位置

3. 代码折叠

  设置折叠

:set fdm = <option>

  option有以下6种选项

选项说明
manual手工定义折叠
indent更多的缩进表示更高级别的折叠
expr用表达式来定义折叠
syntax用语言高亮来定义折叠
diff对没有更改的文本进行折叠
marker对文中的标志折叠

  折叠命令:

命令说明
zc折叠
zC对所在范围内所有嵌套的折叠点进行折叠
zo展开折叠
zO对所在范围内的所有折叠进行展开
[z到当前打开的折叠的开始处
]z当当前打开的折叠的结束处
zj到下一个折叠的开始处
zk到上一个折叠的开始处

  使用marker方式折叠的还有以下命令:

命令说明
zf创建折叠
zd删除折叠
zD删除所有嵌套折叠
zE除去窗口所有折叠

4. 光标移动

命令说明
h
j
k
l
^移动到行首
&移动到行尾
ctrl + bPage Up
ctrl + fPage Down
G移动到末行
gg移动到首行
50G移动到50行
H移动到当前窗口首行
M移动到当前窗口中间位置
L移动到当前窗口的最后一行
w移动到下一个单词首
e移动到下一个单词尾
b移动到前一个单词首
(移动到下一个句子
)移动到上一个句子
{移动到上一个段落
}移动到下一个段落
ctrl + o返回上一次光标位置
ctrl + i返回下一次光标位置
ctrl+f向前翻一页
ctrl+b向后翻一页
ctrl+u向前翻半页
ctrl+d向后翻半页
ctrl+y向前一行
ctrl+e向后一行
zt将光标定位当屏幕顶部
zz将光标定位到屏幕中间
zb将光标定位到屏幕底部

5. Mark标记

  在某一行上进行标记之后,则可以在任意处跳转至标记处。相关命令如下:

命令说明
m+(a~z,A~Z)添加标记
跳转至
:marks查看所有标记
:delmarks 删除相应标记

6. Vim选中

命令说明
viw/vaw(a word)选中一个单词
wip/vap(a paragraph)选中一个段落
vis选中一个句子
vib选中一个block
ctrl + v区域选中

7. VIM删除操作

Vim命令说明
dl删除当前字符,功能等同于x
d0删除光标位置至行首
d^删除光标位置至行首(不包括空格和TAB)
dw/d3w删除光标位置至光标所在单词的尾部
db删除光标位置至光标所在单词的开始部分
dW删除光标位置至光标所在单词的尾部(以空格作为单词分隔)
dB删除光标位置至光标所在单词的开始部分(以空格作为单词分隔)
d)删除光标所在位置至光标所在语句的结束部分
d(删除光标所在位置至光标所在语句的开始部分
dd删除当前行
d/text删除光标所在位置至下一次出现text文本之间的内容
dfc删除光标所在位置至当前行向后出现字符c之间的内容,包含字符c
dtc删除光标所在位置至当前行向后出现字符c之间的内容,不包含字符c
D/d$删除光标所在位置至当前行行尾

8. VIM多窗口操作

1. 窗口间游走

Vim命令说明
ctrl + w + h向左移动窗口
ctrl + w + j向下移动窗口
ctrl + w + k向上移动窗口
ctrl + w + l向右移动窗口
ctrl + w + w在所有窗口中循环移动
ctrl + w + t移动到最左上角的窗口
ctrl + w + b移动到最右下角的窗口
ctrl + w + p移动到前一个访问的窗口

2. 移动窗口

Vim命令说明
ctrl + w + r向右或向下交换窗口(当前窗口不变)
ctrl + w + x向右或向下交换窗口(当前窗口为交换后的窗口)
ctrl + w + K将当前窗口移动到最上方,并占用全部宽度
ctrl + w + J将当前窗口移动到最下方,并占用全部宽度
ctrl + w + H将当前窗口移动到最左方,并占用全部高度
ctrl + w + L将当前窗口移动到最右方,并占用全部高度
ctrl + w + T以当前窗口新建一个Tab,并占用全部位置

3. 调整窗口尺寸

Vim命令说明
ctrl + w + =让所有窗口调整至相同尺寸
ctrl + w + -让当前窗口的高度减少一个单位
ctrl + w + +让当前窗口的高度增加一个单位
ctrl + w + <让当前窗口的宽度减少一个单位
ctrl + w + >让当前窗口的宽度增加一个单位
ctrl + w + |将当前窗口的宽度调整至最大

4. 窗口关闭

Vim命令说明
ctrl + w + q离开当前窗口
ctrl + w + c关闭当前窗口
ctrl + w + o关闭当前窗口以外的所有窗口

http://www.cnblogs.com/suncoolcat/archive/2013/09/09/3310668.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值