vim常用命令
2010-03-28 19:18
197 查看
一直听说vi/vim很强大,一直不以为然,总想有图形界面的干嘛还非得来个命令行,前两天偶然的机会稍微了解了下,发下vim在
真的无以伦比,无法阻挡,非常有激情的学习了一下,转载一篇,以备随时查看,~ ~
VIM是一个非常强大,也非常复杂的编辑器。就连常用的命令也数以百计,而且通过各种组合,更是能够达到数量惊人的地步。
本文是我跟着VIM用户手册学习VIM的使用而作的记录,记下一些VIM的常用命令,方便查找和复习。当然了,对于那些十分常用,比如"i"进入
Insert模式这种命令当然不会记在本文里。
x 删除当前字符
dd 删除一整行
J 删除一个换行符,也就是连接两行
u 撤销
U 撤销一整行的修改
CTRL-R 重做
a 当前字符后添加
A 行尾添加文本
o 光标下方开始一个新行
O 光标上方开始一个新行
ZZ 保存并退出
zz 当前行与光标一起移到窗口中间
:q 退出,加!表示强制退出
:e! 重新装载原来的文件
w 光标移至下一个单词的词首
e 光标移至下一个单词的词尾
b 光标移至前一个单词的词首
ge 光标移至前一个单词的词尾
大写的W,E,B,gE与上面的作用相同,但以空格作为单词的分隔。
$ 光标至行尾
0 行首
^ 行首第一个非空字符
fx 向前查找本行中的字符x
Fx 向左查找本行中的字符x
tx, Tx与上面两个相似,只是光标会移到目标字符的前一个字符上。
这四个命令可以使用";"重复向前查找,","命令则用于反向查找。
% 向前找到第一个括号字符,或者匹配对应的一对括号
gg 移至文件第一行
G 移至文件最后一行
50G 移至第50行
50% 移至文件的50%处,也就是中间的位置
H 当前窗口文本的最顶端
M 当前窗口文本的中间
L 当前窗口文本的最下方
CTRL-U 向上滚动半屏
CTRL-D 向下滚动半屏
CTRL-E 上滚一行
CTRL-Y 下滚一行
CTRL-F 向下翻页
CTRL-B 向上翻页
zz 光标所在行移至窗口中间
zt 光标所在行移至窗口顶端
zb 光标所在行移至窗口底端
/str 查找单词"str"
?str 反向查找单词"str"
使用n或者N正向或反向查找下一个匹配的单词
/>只匹配单词末尾,/<只匹配单词开头
/查找可以使用正则表达式,正则表达式的语法这里略去
:set ignorecase 忽略大小写
* 取得当前光标上的单词,并向前查找匹配的字符串
# 取得当前光标上的单词,并反向查找匹配的字符串
`` 使用类似"G"这样的移动命令时,会有标记留下,本命令可以回到原来的地方
'' 功能同上
CTRL-O 跳到一个”较老“的地方
CTRL-I 跳到一个“较新“的地方
ma a可以是字母a~z,在当前位置作标记
`a 跳到标记a处
'a 跳到标记a所在行的行首
:marks 列出所有标记
c 修改文本,删除并切换至插入模式
cw 删除一个词,切换至插入模式
cc 修改一整行
x dl,删除当前光标下的字符
X dh,删除当前光标前的字符
D d$,删除至行尾
C c$,修改至行尾
s cl,修改一个字符
S cc,修改一整行
r 替换单个字符
. 重复最后一次的修改操作
v 启动可视模式,选择文本
V 按整行选择文本
CTRL-V 区块选择文本
o 可视模式下o命令表示另一端
p 粘贴文本
删除文本时,文本会被保存起来,使用p命令可以重新粘贴出来。
如果文本是一整行,则会插入到下方;否则插入至光标后面。
P 与p类似,只是插入的方向相反
p和P均可以使用多次
xp 交换两个字符,当前光标下以及下一个
y 拷贝文本,常见组合命令:yw, ye, y$等
yy 拷贝一整行
Y 拷贝一整行,同上
"*yy 拷贝至剪贴板
"*p 从剪贴板粘贴
daw 光标位于单词中间位置,使用本命令可以删除整个单词
cis aw, is, as是VIM里的文本对象,表示一个单词,is, as表示句子
R 进入替换模式
~ 改变光标下字符的大小写
I 称到当前行的第一个非空字符并启动插入模式
A 移到行尾启动插入模式
上面就是经常使用到的VIM命令,当然还有许多没有列出来。这是最基本的,我需要先练熟这些,然后再进行更加深入的学习。比如VIM的配置,使用VIM作为程序编辑器等等。这些在以后的文章中再写吧!
真的无以伦比,无法阻挡,非常有激情的学习了一下,转载一篇,以备随时查看,~ ~
VIM是一个非常强大,也非常复杂的编辑器。就连常用的命令也数以百计,而且通过各种组合,更是能够达到数量惊人的地步。
本文是我跟着VIM用户手册学习VIM的使用而作的记录,记下一些VIM的常用命令,方便查找和复习。当然了,对于那些十分常用,比如"i"进入
Insert模式这种命令当然不会记在本文里。
x 删除当前字符
dd 删除一整行
J 删除一个换行符,也就是连接两行
u 撤销
U 撤销一整行的修改
CTRL-R 重做
a 当前字符后添加
A 行尾添加文本
o 光标下方开始一个新行
O 光标上方开始一个新行
ZZ 保存并退出
zz 当前行与光标一起移到窗口中间
:q 退出,加!表示强制退出
:e! 重新装载原来的文件
w 光标移至下一个单词的词首
e 光标移至下一个单词的词尾
b 光标移至前一个单词的词首
ge 光标移至前一个单词的词尾
大写的W,E,B,gE与上面的作用相同,但以空格作为单词的分隔。
$ 光标至行尾
0 行首
^ 行首第一个非空字符
fx 向前查找本行中的字符x
Fx 向左查找本行中的字符x
tx, Tx与上面两个相似,只是光标会移到目标字符的前一个字符上。
这四个命令可以使用";"重复向前查找,","命令则用于反向查找。
% 向前找到第一个括号字符,或者匹配对应的一对括号
gg 移至文件第一行
G 移至文件最后一行
50G 移至第50行
50% 移至文件的50%处,也就是中间的位置
H 当前窗口文本的最顶端
M 当前窗口文本的中间
L 当前窗口文本的最下方
CTRL-U 向上滚动半屏
CTRL-D 向下滚动半屏
CTRL-E 上滚一行
CTRL-Y 下滚一行
CTRL-F 向下翻页
CTRL-B 向上翻页
zz 光标所在行移至窗口中间
zt 光标所在行移至窗口顶端
zb 光标所在行移至窗口底端
/str 查找单词"str"
?str 反向查找单词"str"
使用n或者N正向或反向查找下一个匹配的单词
/>只匹配单词末尾,/<只匹配单词开头
/查找可以使用正则表达式,正则表达式的语法这里略去
:set ignorecase 忽略大小写
* 取得当前光标上的单词,并向前查找匹配的字符串
# 取得当前光标上的单词,并反向查找匹配的字符串
`` 使用类似"G"这样的移动命令时,会有标记留下,本命令可以回到原来的地方
'' 功能同上
CTRL-O 跳到一个”较老“的地方
CTRL-I 跳到一个“较新“的地方
ma a可以是字母a~z,在当前位置作标记
`a 跳到标记a处
'a 跳到标记a所在行的行首
:marks 列出所有标记
c 修改文本,删除并切换至插入模式
cw 删除一个词,切换至插入模式
cc 修改一整行
x dl,删除当前光标下的字符
X dh,删除当前光标前的字符
D d$,删除至行尾
C c$,修改至行尾
s cl,修改一个字符
S cc,修改一整行
r 替换单个字符
. 重复最后一次的修改操作
v 启动可视模式,选择文本
V 按整行选择文本
CTRL-V 区块选择文本
o 可视模式下o命令表示另一端
p 粘贴文本
删除文本时,文本会被保存起来,使用p命令可以重新粘贴出来。
如果文本是一整行,则会插入到下方;否则插入至光标后面。
P 与p类似,只是插入的方向相反
p和P均可以使用多次
xp 交换两个字符,当前光标下以及下一个
y 拷贝文本,常见组合命令:yw, ye, y$等
yy 拷贝一整行
Y 拷贝一整行,同上
"*yy 拷贝至剪贴板
"*p 从剪贴板粘贴
daw 光标位于单词中间位置,使用本命令可以删除整个单词
cis aw, is, as是VIM里的文本对象,表示一个单词,is, as表示句子
R 进入替换模式
~ 改变光标下字符的大小写
I 称到当前行的第一个非空字符并启动插入模式
A 移到行尾启动插入模式
上面就是经常使用到的VIM命令,当然还有许多没有列出来。这是最基本的,我需要先练熟这些,然后再进行更加深入的学习。比如VIM的配置,使用VIM作为程序编辑器等等。这些在以后的文章中再写吧!