vim命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim命令相关的知识,希望对你有一定的参考价值。

1.简介

vim是linux最常用的编辑器,很多linux发行版默认安装了vi。其中 vi 是这个名称的缩写:visual interface 的缩写。

一般vim有3种模式:一般模式,编辑模式,命令模式。


2.一般模式可用按钮和说明

按键

说明

移动,查找,替换


h或左箭头??

光标左移动一个字符

j或右箭头??

光标右移动一个字符

k或上箭头??

光标向上移动一个字符

i或下箭头??

光标向下移动一个字符

n+上下左右

n为数字,向上下左右移动n个字符

「ctrl」+f

屏幕向下移动一页,相当于page down

「ctrl」+b

屏幕向上移动一页,相当于page up

0或home键

光标移动到行首

$或end键

光标移动到行尾

G

光标移动到文件的最后一行

nG

光标移动到文件的第n行

gg

移动到首行,相当于1G

/word

向下查找关键字为word的字符串,使用n或N向上查找或向下查找关键词

?word

向上查找关键词为word的字符串,使用n或N同上

:n1,n2s/word1/word2/g

n1,n2为数字,表示在n1和n2行之间寻找word1的字符串,将该字符串替换成word2。例如:100,200s/aaa/bbb/g

:1,$s/word1/word2/g

从第一行到最后一行替换。例如:1,$s/aaa/bbb/g

:1,$s/word1/word2/gc

从第一行到最后一行替换,替换前确认。

删除,复制,粘贴


x,X

x向后删除,相当于del。X向前删除,相当于退格键。

nx

n为数字,表示向后删除n个字符。

dd

删除光标所在的那一行。

ndd

向下删除n行。

d1G

删除当前位置到第一行的数据。

dG

删除当前位置到最后一行的数据。

d$

删除当前位置到该行最后一个字符的的数据。

d0

删除当前位置到该行第一个字符的所有数据。

yy

复制光标所在的这一行。

nyy

向下复制n行。

y1G,yG,y$,y0

同上d

p,P

粘贴,将复制的数据,在光标所在的行的下面一行开始粘贴。P粘贴在上一行。

J

光标所在行与下面一行的数据,合并成一行。

u

恢复前一个操作

[ctrl]+u

重做上一个操作。


3. 一般模式切换到编辑模式

按钮

说明

i,I

进入插入模式。i在光标前插入,I所在行第一个非空格符处插入

a,A

进入插入模式,a在光标下一个字符插入,A为所在行的最后一个字符处插入。

o,O

进入插入模式,o在所在行的下面一行,插入新的一行。O,在所在行的上面一行,插入新的一行。

r,R

进入替换模式,r替换光标所在的那一个字符一次。R替换光标所在的字符,到按Esc键终止。


4. 一般模式到命令行模式

按钮

说明

:w

保存,将编辑的数据写入磁盘文件

:w!

强制保存

:q

直接退出

:q!

强制退出

:wq   :x

保存并退出

ZZ

保存并退出

:w [filename]

将文件保存为另一个文件

:r [filename]

将filename的内容添加到光标所在后面的行。

:n1,n2 w [filename]

将n1到n2行的数据保存为新文件

:! command

暂时离开vi到命令行模式下执行command命令

:set nu

显示行号

:set nonu

取消行号显示


5. 块选择

按键

说明

v

字符选择,光标经过的地方会反白显示

V

行选择,光标经过的行会反白显示

[ctrl]+v

块选择,以长方形的方式选择。

y

将选中的数据复制

d

将选中的数据删除


6. 多文件编辑

使用 vim file1 file2 可以实现同时打开两个文件。

案件

说明

:n

编辑下一个文件

:N

编辑上一个文件

:file

列出这个vim打开的所有文件


7. 多窗口编辑

按键

说明

:sp [filename]

打开一个新的窗口,加filename打开新的文件,不加则打开同一个文件,同步显示。

[ctrl]+w+j \ ??

光标移动到下面一个窗口,按住ctrl和w,松开再看j

[ctrl]+w+k\ ??

光标移动到上面一个窗口。

[ctrl]+w+q

结束光标所在的窗口


8. vim环境设置与纪录:~/.vimrc,~/.viminfo

vim会主动将你曾经做过的行为记录下来,这个纪录操作的文件就是:~/.viminfo


9. vimrc

技术分享图片

技术分享图片




以上是关于vim命令的主要内容,如果未能解决你的问题,请参考以下文章

Vim文本编辑命令汇总-Vim入门教程

Vim光标移动命令汇总

Mac vim常用命令

Docker容器中安装vim命令

vim模式-命令行模式

Vim命令合集