以下是个人在使用Vim时使用比较多的命令,简单总结了一下,分享一下。当然,不是很全面,大家觉得有什么其他比较好的常用的命令,可以接上

1. 文本删除

  

1.1   删除光标所在行:dd

  

1.2   删除以当前行开始的n行:ndd

  

1.3   删除以当前字符开始的一个word:dw

  

1.4   删至行尾:d$

  

1.5   删除至行首:d0(数字0)

  

1.6   删除光标后的字符:x(小写)

  

1.7   删除光标前的字符:X(大写)或者退格键

  

1.8   删除输入方式下所输入的文本:ctrl+u

  

2. 文本插入

  

2.1   在光标前:i

  

2.2   在当前行首:I

  

2.3   在光标后:a

  

2.4   在当前行尾:A

  

2.5   在当前行之下新加一行:o

  

2.6   在当前行之上新加一行:O

  

2.7   替换当前字符:r

  

2.8   替换当前字符及其后的字符,直至按Esc键:R

  

3. 屏幕翻滚

  

3.1   向文件首翻半屏:ctrl+u

  

3.2   向文件尾翻半屏:ctrl+d

  

3.3   向文件首翻一屏:ctrl+b

  

3.4   向文件尾翻一屏:ctrl+f

  

4. 光标移动

  

4.1   光标左移一个字符:h或左方向键或退格键

  

4.2   光标右移一个字符:l或右方向键或空格键

  

4.3   光标下移一行:j或下方向键或回车键

  

4.4   光标上移一行:k或上方向键

  

4.5   光标移至第n行首:nG

  

4.6   光标上移n行:n-

  

4.7   光标下移n行:n+

  

4.8   光标移至第n行尾:n$

  

4.9   光标移至行尾:$

  

4.10    光标移至行首:0(数字)

  

4.11    光标移至屏幕顶行:H

  

4.12    光标移至屏幕中间行:M

  

4.13    光标移至屏幕最后行:L

  

5. 搜索及替换

  

5.1   从光标开始处向文件尾搜索pattern:/pattern

  

5.2   从光标开始处向文件首搜索pattern:?pattern

  

5.3   在同方向上重复上次搜索:n

  

5.4   在反方向上重复上次搜索:N

  

5.5   将当前行中所有p1用p2代替:s/p1/p2/g

  

5.6   将第n1至n2行中所有p1用p2代替:n1,n2 s/p1/p2/g

  

5.7   将文件中所有p1用p2代替:g/p1/s//p2/g

  

5.8   查找时忽略大小写: set ic

  

5.9   查找时不忽略大小写: set noic

  

6. 选项设置

  

6.1   列出所有选项设置情况:all

  

6.2   在搜索中忽略大小写:ignorance

  

6.3   显示制表位和行尾标志:list

  

6.4   显示行号:number

  

6.5   允许在搜索模式中,使用前面不带””的特殊字符:nomagic

  

7. 多行操作

  

7.1   将n1行到n2行之间的内容拷贝到第n3行下: n1,n2 co n3

  

7.2   将n1行到n2行之间的内容移至到第n3行下: n1,n2 m n3

  

7.3   将n1行到n2行之间的内容删除: n1,n2 d

  

8. 在函数中移动光标

  

8.1   转到当前光标所指的局部变量的定义:gd

  

8.2   转到当前光标所指的单词下一次出现的地方:*

  

8.3   转到当前光标所指的单词上一次出现的地方:#

  

9. 编辑

  

9.1   复制当前行:yy

  

9.2   粘贴:p

  

9.3   撤销上步操作:u

  

9.4   恢复(撤销过头了的处理):ctrl+r

  

9.5   重复上次命令:.(点号)

  

9.6   切换大小写字母:~

  

10.      统计

  

10.1    统计字符数: :%s/.&/gn

  

10.2    统计单词数: :%s/i+/&/gn

  

10.3    统计行数: :%s/^//n

  

10.4    统计某个字符串(如the)数: :%s/the/&/gn

  

11.      整体对齐与缩进

  

11.1    整体对齐:进入视图模式下(按“v”),移动方向键选中需要对齐的行,然后按“=”符号即可

  

11.2    整体缩进:进入视图模式下(按“v”),移动方向键选中需要缩进的行,然后按下shift+<(或>)即可

  

12.      vim多窗口之奇妙境界

  

12.1  窗口拆分

  

准备创建一个新文件

  

$ vim 1.txt

  

创建一个新文件(会在屏幕的上方开一个新的窗口)
: new 2.txt

  

再创建一个新的文件(会在屏幕的上方左侧再开一个窗口)

  

: vsplit 3.txt

  

切换到文件1.txt的区域

  

按下CTRL+WW

  

再按,知道光标进入 1.txt的编辑区域即可

  

再创建一个新的文件(这个文件将把1.txt的编辑区域给分成两块)

  

: split 4.txt

  

如果想关闭某个窗口,按下CTRL+WW切换过去,然后

  

: close

  

最后一个只能退出哦

  

:q

  

 

  

总结:

  

new 创建新窗口

  

split 水平分割窗口

  

vsplit 垂直分割窗口

  

close 关闭窗口

  

CTRL+WW 跳转到其他窗口

  

12.2 把当前窗口编程唯一的窗口(关闭其他窗口)::on

  

12.3 退出当前窗口: :q

  

12.4 退出所有窗口: :qa

  

12.5 保存并退出所有窗口: :x a

  

12.6 把文本拷贝到系统剪贴板(可在不同窗口中使用)::*p

  

13.      vi中的shell转义命令

  

选项                     作用

  

:!command       执行shell的command命令,如:!ls

  

:!!              执行前一个shell命令

  

:r!command      读取command命令的输入并插入,如:r!ls会先执行ls,然后读入内容

  

:w!command      将当前已编辑文件作为command命令的标准输入并执行command命令,如:w!grep all

  

:cd directory   将当前工作目录更改为directory所表示的目录

  

:sh               将启动一个子shell,使用^d(ctrl+d)返回vi

  

:so file         在shell程序file中读入和执行命令

  

14.      文本布局调整

  

14.1    交换两个字符位置:xp

  

14.2    上下两行调换:ddp

  

14.3    上下两行合并:J(大写)

  

14.4    删除所有行:dG

  

14.5    从当前位置删除到行尾:d$

  

14.6    从当前位置复制到行尾:y$

  

14.7    回到跳转前的位置: :’’

  

15. 在若干行前插入同样的字符

  

1)         用Ctrl-v   选定若干行的第一列

  

2)         I (大写的字母I)  

  

3)         输入字符(比如#)

  

4)         按escape  

  

vim   就会自动把下面选中的行前面加上同样的字符

16. 上传与下载

1)scp命令:

scp agent root@122.49.0.202:/tmp/ 上传文件
scp root@122.49.0.202:/tmp/agent /tmp/ 下载文件
scp -r *****************************操作文件夹

2) sftp命令

sftp root@122.49.0.20
sftp>get /tmp/agent . 下载文件
sftp>put ./agent /tmp/ 上传文件

17. 查找使用过的命令

ctrl+R

18. 动态查看文件内容

tail -f 文件名

tailf 文件名

19. 多个文件内容替换命令

sed -i “s/221.194.129.207/119.57.63.199/g” `grep 221.194.129.207 -rl ./ *.cf`

20. 查看操作系统类型

uname -a


Vim常用命令

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.