vim 常用命令整理
2013-07-12 14:04
239 查看
全选,复制,删除,粘贴
全部删除:按esc后,然后dG
全部复制:按esc后,然后ggyG
全选高亮显示:按esc后,然后ggvG或者ggVG
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
复制光标所在的一样 “Y”
把内容粘贴到光标所在的位置,“p”
================================================================================================================
查找
要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern 表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
按下 Enter 键后,vi 将搜索指定的 pattern,并将光标定位在 pattern 的第一个字符处。例如,要向上搜索 place 一词,请键入:
/place Enter
如果 vi 找到了 place,它将把光标定位在 p 处。要搜索 place 的其他匹配,请按 n 或 N:
n,继续朝同一方向搜索 place。
N,反方向进行搜索。
如果 vi 未找到指定的 pattern,光标位置将不变,屏幕底部显示以下消息:
Pattern: 未找到
搜索特殊匹配
在上面的示例中,vi 查找到包含 place 的任何序列,其中包括 displace、placement 和 replaced。
要查找单个的 place,请键入该单词,并在其前后各加一个空格:
/ place Enter
要查找仅出现在行首的 place,请在该单词前加一个插字符号 (^):
/^place Enter
要查找仅出现在行尾的 place,请在该单词后加一个货币符号 ($):
/place$ Enter
使用 ^
要逐字搜索这种带有插字符号 (^) 或货币符号 ($) 的字符,请在字符前加一个反斜线 (\)。反斜线命令 vi 搜索特殊字符。
使用 $
特殊字符是指在 vi 中具有特殊功能的字符(例如 ^、$、*、/ 和 .)。例如,$ 通常表示“转至行尾”,但是,如果 $ 前紧跟一个 \,则 $ 只是一个普通的字符。
使用 \
例如,/(No \$ money) 向上搜索字符序列 (No $ money)。紧跟在 $ 之前的转义字符 (\) 命令 vi 逐字搜索货币符号。
================================================================================================================
insert
模式下用Crtl+y, 就是重复输入上一行同一列的字符。
=================================================================================================================
vim 剪贴板
vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
“号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
+号粘贴板是系统粘贴板,用"+y 将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p ;
要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。
注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器
全部删除:按esc后,然后dG
全部复制:按esc后,然后ggyG
全选高亮显示:按esc后,然后ggvG或者ggVG
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
复制光标所在的一样 “Y”
把内容粘贴到光标所在的位置,“p”
================================================================================================================
查找
要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern 表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
按下 Enter 键后,vi 将搜索指定的 pattern,并将光标定位在 pattern 的第一个字符处。例如,要向上搜索 place 一词,请键入:
/place Enter
如果 vi 找到了 place,它将把光标定位在 p 处。要搜索 place 的其他匹配,请按 n 或 N:
n,继续朝同一方向搜索 place。
N,反方向进行搜索。
如果 vi 未找到指定的 pattern,光标位置将不变,屏幕底部显示以下消息:
Pattern: 未找到
搜索特殊匹配
在上面的示例中,vi 查找到包含 place 的任何序列,其中包括 displace、placement 和 replaced。
要查找单个的 place,请键入该单词,并在其前后各加一个空格:
/ place Enter
要查找仅出现在行首的 place,请在该单词前加一个插字符号 (^):
/^place Enter
要查找仅出现在行尾的 place,请在该单词后加一个货币符号 ($):
/place$ Enter
使用 ^
要逐字搜索这种带有插字符号 (^) 或货币符号 ($) 的字符,请在字符前加一个反斜线 (\)。反斜线命令 vi 搜索特殊字符。
使用 $
特殊字符是指在 vi 中具有特殊功能的字符(例如 ^、$、*、/ 和 .)。例如,$ 通常表示“转至行尾”,但是,如果 $ 前紧跟一个 \,则 $ 只是一个普通的字符。
使用 \
例如,/(No \$ money) 向上搜索字符序列 (No $ money)。紧跟在 $ 之前的转义字符 (\) 命令 vi 逐字搜索货币符号。
================================================================================================================
insert
模式下用Crtl+y, 就是重复输入上一行同一列的字符。
=================================================================================================================
vim 剪贴板
vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
“号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
+号粘贴板是系统粘贴板,用"+y 将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p ;
要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。
注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器