linux-6 vim常用命令和操作

剪切,复制和选中(Cut and Paste)

命令 作用 命令 作用 命令 作用
d 剪切 dd 删除一行 [N]dd 删除N行
y 复制 yy 复制一行 [N]yy 复制N行
p 粘贴 yw 复制一个单词 dw 删除一个单词
x 删除后一个字符 X 删除前一个字符 D 删除一行最后一个字符
u 撤销上一步操作undo Ctrl + r 恢复上一步操作redo
v 选中一个和多个字符,两次按v, 取消选择 V 选中一行
set number 显示行号 set nonumber 不显示行号
set autoindent 自动对齐 set noautoindent 取消自动对齐
1,5s/mail/gmail/g 全局替换(1-5行) 1,$s/mail/gmail/g 全局替换

ggVG 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾

选中后就可以用编辑命令对其进行编辑,如
y 复制 (默认是复制到"寄存器)
p 粘贴 (默认从"寄存器取出内容粘贴)

"+y 复制到系统剪贴板(也就是vim的+寄存器)
"+p 从系统剪贴板粘贴

光标移动

命令 作用 命令 作用 命令 作用 命令 作用
h j k l
Ctrl+f 上一页 Ctrl + b 下一页
^ 一行开头 $ 一行结尾
gg 文档第一行 G 文档最后一行 [N]G 文档第N行

编辑

命令 作用 命令 作用 命令 作用
J 合并下一行到上一行 r 替换光标所在的一个字符 . 重复最后一个命令
~ 大小写转换 s 删除光标所在的一个字符,光标还在当行,并进行编辑模式 S 删除光标所在行,光标还在当行并进行编辑模式
[N]>> 一行或N行往右移动一个tab [N]<< 一行或N行往左移动一个tab

搜索

命令 作用
/pattern 搜索
?pattern 往后搜索
n 搜索结果前一个目标
N 搜索结果后一个目标

关闭

命令 作用
:w 保存
:wq , :x 保存并关闭
:q 关闭
:q! 放弃修改强制关闭
ZZ 保存当前文件并退出

窗口操作

命令 作用
:split 水平方向分割出一个窗口
:vsplit 垂直方向分割出一个窗口
:close 关闭窗口
Ctrl + W 切换窗口 h到左边窗口,j到下方窗口,k到上方窗口,l到右边窗口

常见情况

如何将window/linux环境下的内容复制至vim中?如:将网页内容复制至vim中。
在windows/linux环境下复制(Ctrl+C),再到VIM中进入插入模式,Shift+Ctrl+V,粘贴成功!
在windows/linux环境下复制(Ctrl+C),再到VIM中进入插入模式,Shift+Insert,粘贴成功!

如何将vim中的内容复制至window/linux环境下?如:将vim内容复制到浏览器搜索框中
在vim任何模式下,都可以使用Shift+Ctrl+C进行vim内容复制,然后使用Ctrl+V能将复制的东西粘贴至

vim粘贴板的基础知识

vim有12个粘贴板,分别是0、1、2、…、9、a、“、+;
用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
(1)“号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
(2)+号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。
注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。

发布了140 篇原创文章 · 获赞 44 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章