vim命令

vim

Vim是从 vi 发展出来的和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。Vim 的可配置性非常强,各种插件、语法高亮配色方案等多不胜数,无论作为代码编辑器或是文稿撰写工具都非常给力。

一、Vim的几种模式

1.命令行模式(normal模式):
因为normal模式可以直接使用相关快捷键编辑文件,所以我更加喜欢叫它命令模式。命令模式分为一般 命令模式和底部命令模式。通过vim打开一个文件,默认就是进入一般命令模式,可以输入:进入底部命令模式。

2.插入模式(insert模式):
可以输入文本,在一般命令模式下,按i、a、o等都可以进入插入模式。

3.可视模式(visual 模式):
在一般命令模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。 按V进入可视行模式, 总是整行整行的选中。

二、最常用的命令

1.进入编辑模式

a 在当前光标后面插入 
A 在行尾插入
i 在当前光标插入
I 在行首插入
o 在下一行插入 
O 在上一行插入

2.光标定位

通过键盘[kjhl]或者上下左右键可以实现光标的上下左右移动;
w 前移一个单词,光标停在下一个单词开头; 
e 前移一个单词,光标停在下一个单词末尾; 
b 后移一个单词,光标停在上一个单词开头;
A|end|$ 将光标定位到行尾; 
I|0|home|^ 将光标定位到行首;
gg 将光标定位到文件第一行
G 将光标定位到最后一行
nG|ngg 到文件第n行。 移动到第n行。
fm 快速定位到当前行,光标之后的第一个m字符处(通常在行首使用),如果有多个相同字符,可以使 用分号;进行下一个选择。
Fm 同上,只是反向查找。

3.复制/剪切/粘贴

yy 复制整行
y$|y+end 从光标当前位置复制到行尾。
y0|y+home 从光标当前位置复制到行首。
p(小写) 粘贴(在下一行粘贴)
P(大写) 粘贴(在上一行粘贴)
dgg: 剪切光标以上的所有行。
dG: 剪切光标以下的所有行。
[n] dd: 删除(剪切)(n)行。
:m,nd 剪切m行到n行的内容。 
daw和das 剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系 dw:剪切当前光标到单词结束!
删除(剪切)当前位置到行尾的内容。
删除(剪切)当前位置到行首的内容。

# 删除匹配行:
:g/UUID/d 删除包含UUID的行
:g/#\|^$/d 删除#注释和空白行 
:g/^$\|^\s*$\|^#/d 删除#注释/空白行/空字符串行

4.替换

一般命令模式
r: 替换光标处的字符,同样支持汉字。
R: 进入替换模式,按esc回到命令|正常模式。
底部命令模式
:s/old/new	用new替换当前行第一个old。
:s/old/new/g	用new替换当前行所有的old。
:n1,n2s/old/new/g	用new替换文件n1行到n2行所有的old
:%s/old/new/g	用new替换文件中所有的old。
:%s/^/#/g	在每一行的行首插入#,^表示行首。
:%s/$/xxx/g		在每一行的行尾插入xxx,$表示行尾。

5.文档保存/退出

:wq 	保存并退出。 :x 保存并退出。 ZZ 保存并退出。
:q 		文档未编辑时,可以直接退出。 :q! 文档编辑过了,强行退出,不保存。
:w 		保存修改。
:w file2 	将修改的文件保存到另外一个文件。
:r file3 	读取当前目录下的file3内容到当前文档。
:e! 	一个文档修的地方太多了,最后自己都不知道哪里改对了,哪里改错了,可以使用重新加载文档, 丢弃已做的改动。
:Sex	水平分割一个窗口,浏览文件系统,等同vim -o file1 file2。
:Vex	垂直分割一个窗口,浏览文件系统,等同于vim -O file1 file2。
ctrl +w 	连续两次w,可实现窗口切换。
% 	快速匹配括号。
gf 		打开以光标所在字符串为文件名的文件。然后使用ctrl + ^ 可以再次回到源文件。

6.编辑多个文件

vim a.txt b.txt c.txt -p
* 使用:next(:n)编辑下一个文件。
* :2n 编辑下2个文件。
* 使用:previous或:N编辑上一个文件。
* 使用:wnext,保存当前文件,并编辑下一个文件。
* 使用:wprevious,保存当前文件,并编辑上一个文件。

7.常见设置

智能缩进:
可以实现自动缩进与自动对齐:
:set si
取消:
:set nosi
自动对齐
可以实现自动对齐,不可实现自动缩进:
:set ai
取消:
:set noai
显示行号:
:set nu
取消:
:set nonu
显示换行
:set list
取消:
:set nolist
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值