Vim复制\粘贴\插入\附加\打开\修改\替换\取代\退出基本命令

2011年10月9日 发表评论 阅读评论

闪电博客用vim这么久了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不爽;上次论坛上有人问到了怎么在vim中使用系统粘贴板,本文特作回答。

如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset(粘贴)即可,在Gvim中鼠标中键可起到相同的作用。

剪切/删除(在vim内部): dd

复制(在Vim内部):  yy

复制到系统剪切板:    "+y    (三个键)

下面是vim粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的。

1.vim有12个粘贴板,分别是0、1、2、…、9、a、“、+;用 :reg 命令可以查看各个粘贴板里的内容。在vim中用 yy 只是复制到 " (双引号)粘贴板里,同样用 Ctrl+p 粘贴的也是这个粘贴板里的内容;

2.要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按 "Ny(注意带引号)完成复制,其中 N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按 y),例如要把内容复制到粘贴板 a,选中内容后按 "ay就可以了,有两点需要说明一下:

" 号粘贴板(临时粘贴板)比较特殊,直接按 y 就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;

+ 号粘贴板是系统粘贴板,用 "+y (依次按"   +    y这三个键)将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用 Ctrl+C 或右键复制的内容复制到vim中,需要在正常模式下按 "+p;

3.要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按 "Np,其中 N为粘贴板号,如上所述,可以按 "5p 将5号粘贴板里的内容粘贴进来,也可以按 "+p 将系统全局粘贴板里的内容粘贴进来。

注意:只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。安装vim.gnome使用apt-get install vim-gnome,然后vim自动会链接到vim.gnome。

下面是一些vim的基本命令:

进入输入模式命令

i插入命令

a附加命令

o打开命令

c修改命令

r取代命令

s替换命令

Esc退出命令

输入模式的操作

Home光标到行首

End 光标到行尾

Page Up和Page Down上下翻页

Delect删除光标位置的字符

删除操作(命令模式使用)

x删除光标处的单个字符

dd删除光标所在行

dw删除当前字符到单词尾包括空格的所有字符

#x例如3x删除光标处向右的三个字符

#dd例如3dd从当前行开始向下删除三行文本

撤销操作

u命令取消最近一次的操作,可以使用多次来恢复原有的操作

U取消所有操作

Ctrl+R可以恢复对使用u命令的操作

复制操作

yy命令复制当前整行的内容到vi缓冲区

yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词

y$复制光标所在位置到行尾内容到缓存区

y^复制光标所在位置到行首内容到缓存区

#yy例如:5yy就是复制5行

#yw例如:2yw就是复制两个单词

如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。

查找和替换

vi的查找和替换功能主要在末行模式完成:

至上而下的查找

/ 要查找的字符窜,其中/代表从光标所在位置起开始查找,例如:/ work

至下而上的查找

?要查找的字符窜 例如:/ work

替换

:s/old/new用new替换行中首次出现的old

: s/old/new/g 用new替换行中所有出现的old

:#,# s/old/new/g用new替换从第#行到第#行中出现的old

:% s/old/new/g用new替换整篇中出现的old

如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gc

恢复文件

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:

O只读打开,不改变文件内容

E继续编辑文件,不恢复.swp文件保存的内容

R将恢复上次编辑以后未保存文件内容

Q退出vi

D删除.swp文件

或者使用vi -r 文件名来恢复未保存的内容

编辑多个文件

在同一编辑窗打开第二个文件,用 :sp [filename]

在多个编辑文件之间切换,用 Ctrl+w

获取帮助,用 :help [内容或命令]


转载请注明来自:[闪电博客]http://shandian.biz/1709.html

分类: 电脑知识 标签:
  1. 本文目前尚无任何评论.