LINUX

关注公众号 jb51net

关闭
操作系统 > LINUX >

linux下文本编辑器vim的使用方法(复制、粘贴、替换、行号、撤销、多文件操作)

脚本之家

文本文件的编辑命令:vim

1、vim的三种状态模式

1)命令模式(默认)

备注:命令模式下输入“:q!”可以退出vim。

2)可编辑模式(通过命令模式下输入小写“i”进入可编辑模式;按Esc退出至命令模式)

备注:小写i,在当前光标处插入;小写a,在当前光标后插入。

3)末行模式(通过命令模式下进入,按Esc退出至命令模式)

作用:在文件的最后一行执行非文本编辑命令,保存、打开文件,写文件名等。

例如“:w”的作用是,填写文件名;

例如“:wq”的作用是,填写文件后保存并退出;

例如“/”,从上往下查找;

例如“?”,从下往上查找;

2、vim的基本操作

1)打开文件

vim 文件名即可打开并进入命令模式。

2)编辑文件

命令模式下,输入小写i即可进入编辑模式;

3)保存文件并退出

编辑完成后,按Esc返回命令模式,输入“:w”(没有文件名的话添加文件名);

再输入:q即可退出。

3、vim的编辑操作(在命令模式下)

1)复制操作

小写“yy”复制单行;

“2yy”复制光标处2行;

……

“nyy”复制光标出n行。

2)粘贴操作

小写“p”粘贴到当前光标的下一行;

大写“P”粘贴到当前光标的下一行;

3)删除操作

“dd”删除当前行

“2dd”删除光标处当前两行;

……

4)增行操作open

小写“o”,在当前光标处的下一行插入空行;

大写“o”,在当前光标处的上一行插入空行;

 

4、vim的查找替换操作(在末行模式下)

1)查找操作

作用:查找包含关键字的行;

在命令模式下输入“/查找对象”,即可从上往下查找,按n查找(next);

在命令模式下输入“?查找对象”,即可从上往下查找,按n查找(next);

2)替换操作

行替换

:s/被替换对象/新对象/gc,提示后按y即完成替换。

全文替换

:%s/被替换对象/新对象/gc,分别按行提示后按y即完成替换。

输入:wq(保存并退出)。

5、vim的高级操作1)行号的设置

在末行模式下输入“:set nu”即可显示文件的行号;

在末行模式下输入“:set nonu”即可关闭显示文件的行号;

vi ~/.vimrc

2)~/.vimrc的编辑设置 

3)多文件的并发操作

该操作便于多文件相互复制粘贴等。

命令:vim 文件名1 文件名2 文件名3……

命令:“:args”在底部显示当前打开的多个文件的名字,【当前文件的名字】;

命令:“:next”切换显示下一个文档;

命令:“:prev”切换显示上一个文档;

命令:“:first”切换显示第一个文档;

命令:“:last”切换显示最后一个文档。

4)操作的撤销与恢复

备注:无论是u撤销,还是ctrl+r恢复,前提要是文件不能执行了保存。

小写u:change before(按行,分步骤以时间轴为单位撤销最近的动作)直至already at oldest change(可撤销多步);

大写U:仅撤销一步操作;

Ctrl+r:change after (按行,分步骤以时间轴为单位恢复被撤销的动作)直至already at oldest change;

Ctrl+R:恢复被撤销的,一步到底;

 linux 下 vi 文本编辑如何复制一行粘贴删除一行数据

 在使用vi有时会想直接复制一行数据,然后粘贴一行或者直接删除一行数据

复制一行数据的方法

把光标放到要复制的一行前面,然后按两下yy字母键
然后把光标放到要复制到的地方去,按键盘的p字母键
删除一行是把光标移动到要删除的一行上,按两下dd键

下面是相关键的说明:

x,X : 在一行中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键)。
dd : 删除光标所在的那一整行。
ndd : n 为数字。从光标开始,删除向下n列。
yy : 复制光标所在的那一行。
nyy : n为数字。复制光标所在的向下n行。
p,P : p 为将已复制的数据粘贴到光标的下一行,P则为贴在光标的上一行。
u : 复原前一个操作
CTRL + r : 重做上一个操作。
小数点'.': 重复前一个动作。 

 vim常用命令(删除、复制、粘贴、撤销、查找、插入、光标移动、选择、保存、退出)

 vim基本操作:

选择文本

v  从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
V   从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
ctrl+v   从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。
ggVG  选中全部的文本,其中gg为跳到行首,V为选中整行,G为末尾

删除,复制,粘贴,撤销

d 删除   dd 删除整行   ndd 删除n行
x 删除一个字符
u 撤销上一次操作
ctrl+R 反撤销(撤销撤销操作)
y复制 (复制到寄存器)
p粘贴  (默认从寄存器取出)

常用  先是ESC

i 光标前插入文本
a 光标后插入文本
o 在下面另起一行,并使当前模式转为Insert模式
O(大写O) 将在当前行的上面另起一行
:q 退出 
:q! 强制退出
:wq  保存并退出
ZZ  保存并退出

/  简单搜索  /pp 在文件中搜索pp
移动命令
$ 将光标移动到行尾  2$ 移动到下一行的行尾   n$ 移动到下n行的行尾
^ 将光标移动到当前行第一个非空白字符上
0(数字0) 将光标移动到当前行的第一个字符上
G 将光标移动到最后一行。 33G 将光标移动到33行
gg 跳到第一行 

 Vim 全选复制粘贴 撤销 回退 操作

全部删除:按esc键后,先按gg(到达顶部),然后dG
全部复制:按esc键后,先按gg,然后ggyG
全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG
单行复制:按esc键后, 然后yy
单行删除:按esc键后, 然后dd
粘贴:按esc键后, 然后p
复制到粘贴板: 全选高亮显示之后,ctrl+shift+c,
vim只能粘贴50行的问题:
在当前用户主目录编辑~/.vimrc(如果不存在,新建这个文件),添加一行
:set viminfo='1000,<500
至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的。即最大值为 500

在vim中按u可以撤销一次操作
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
注意:
如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。
重做
如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:
young intelligent turtle
有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行
上的操作。 输入这些命令两次取消前一个“U”:
A very intelligent turtle
xxxx 删除very
A intelligent turtle
xxxxxx 删除turtle
A intelligent
用“U”恢复行
A very intelligent turtle
用“u”撤销“U”
A intelligent
“U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用
担心,用“u”和CTRL-R命令你可以切换到任何状态。
流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进。
相关帮助: :help CTRL-O :help CTRL-I :help jump-motions