【vim】vim常用命令
2015-07-12 23:14
337 查看
移动:
h 或 向左箭头键(←) #光标向左移劢一个字符
j 或 下箭头键(↓) #光标向下移劢一个字符
k 或 向上箭头键(↑) #光标向上移劢一个字符
l 或 向右箭头键(→) #光标向右移劢一个字符
0 #数字0,移动到本行最开始一个字符处
$ #移动到本行最后一个字符处
gg #移动到第一行
G #移动到最后一行
NG或:N #移动到第N行
w #到下一个单词的开头
e #到下一个单词的结尾,第一次操作到当前单词结尾
b #到前一个单词的开头,第一次操作到当前单词开头
* #向前(文件结尾)搜索光标所在的单词
# #向后(文件开头)搜索光标所在单词
% #向前(文件结尾)搜索光标所在的符号,包括(,{,[。需要先把光标移动到括号上
fc #移动光标到同一行的下一个c字符处,c可以为其他字母、数字或者标点符号
Fc #移动光标到同一行的上一个c字符处,c可以是其他字母、数字或标点符号
tc #移动光标到同一行的下一个c字符前,c可以是其他字母、数字或标点符号
Tc #移动光标到同一行的上一个c字符前,c可以是其他字母、数字或标点符号
搜索与替换:
/word #向光标乊下寻找一个名称为 word 癿字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!
?word #向光标之上寻找一个字符串名称为 word 的字符串。
n #这个 n 是英文按键。代表『重复前一个搜寻的动作』。丼例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N #这个 N 是英文按键。与n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
:n1,n2s/word1/word2/g #n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。
:1,$s/word1/word2/gc # 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在区代前显示提示字符给用户确认(confirm) 是否需要取代。
:%s/word1/word2/g #将整篇文章的word1取代为word2。%代表整篇文章
r #替换光标所在的字符
R #替换知道按esc退出
插入:
i #在光标前插入
I #在当前行第一个非空字符前插入;
a #在光标后插入;
A #在当前行最后一个非空字符后插入;
o #在下面新建一行插入;
O #在上面新建一行插入;
删除(剪切)动作 d:
dd #删除(剪切)光标所在的那一整行,并将内容复制到剪贴板。
d1G或dgg #删除(剪切)光标所在行到第一行的所有数据
dNG #删除(剪切)光标所在行到第N行的所有数据
dG #删除(剪切)光标所在行到最后一行的所有数据
d$或D #删除(剪切)光标所在处到该行最后一个字符的所有数据
d0 #删除(剪切)光标所在处到该行第一个字符的所有数据
dw #删除(剪切)光标所在处到当前单词的最后一个字符的所有数据
dtc #删除所有的内容,直到遇到字符c。c可以是字母、数字或标点符号
x,X #在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)
复制动作 y:
yy或Y #复制光标所在的那一整行,并将内容复制到剪贴板。
yNG #复制光标所在行到第N行的所有数据
yG #复制光标所在行到最后一行的所有数据
y$ #复制光标所在处到该行最后一个字符的所有数据
y0 #复制光标所在处到该行第一个字符的所有数据
改写动作 c:
cw #改写光标处到当前单词末尾的所有字符
c$或C #改写光标处到当前行末尾的所有字符
粘贴:
p,P #P在光标之前粘贴,P在光标之后粘贴
缩进:
<< 向左缩进一个shiftwidth
>> 向右缩进一个shiftwidth
==: #两个==,自动缩进光标所在行。其实是=+任意字符。
[V]+[=]: #先用V选中要缩进的行(其实用ctrl+v或v也可以),然后按=就可以自动给缩进。所以[V]+[=]和==是等价的。
[gg]+[V]+[G]+[=]: #gg到第一行,V选中第一行,G到最后一行(即选中全文),=自动给缩进。这几个命令是全文自动缩进
命令行模式:
:setnu #显示行号,设置之后,会在第一行的前缀显示改行的行号
:set nonu #与set nu相反,为取消行号
:w #将编辑的数据写入硬盘文件中
:w! #将编辑的数据写入硬盘文件中
:q #离开vi
:wq #保存后离开,若为“:wq!"则为强制保存后离开
ZZ #这是大写的Z。若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开。
块选择:
v: #字符选择,会将光标经过的地方反白选择
V: #行选择,会将光标经过的行反白选择
[Ctrl]+v: #块选择,可以用长方形的方式选择数据
y #将反白的地方复制起来
d #将反白的地方删除
自动补全:
[Ctrl]+p或者[Ctrl]+n
批量操作:
批量注释:
首先定位到要注释的行首并按Ctrl + V(windows:Ctrl + P)进入块模式。然后按J或者K选中要注释的所有行。最后按大写I进入行首插入模式输入注释符号"//"或者"#",按ESC键退出。这样选中的所有行的行首就都被插入了注释符。
批量取消注释:
Ctrl + V进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释
参考资料:
1.《鸟哥的linux私房菜》
2. http://blog.csdn.net/donahue_ldz/article/details/17139361
3. http://coolshell.cn/articles/5426.html
4. http://blog.csdn.net/xiajun07061225/article/details/8488210
h 或 向左箭头键(←) #光标向左移劢一个字符
j 或 下箭头键(↓) #光标向下移劢一个字符
k 或 向上箭头键(↑) #光标向上移劢一个字符
l 或 向右箭头键(→) #光标向右移劢一个字符
0 #数字0,移动到本行最开始一个字符处
$ #移动到本行最后一个字符处
gg #移动到第一行
G #移动到最后一行
NG或:N #移动到第N行
w #到下一个单词的开头
e #到下一个单词的结尾,第一次操作到当前单词结尾
b #到前一个单词的开头,第一次操作到当前单词开头
* #向前(文件结尾)搜索光标所在的单词
# #向后(文件开头)搜索光标所在单词
% #向前(文件结尾)搜索光标所在的符号,包括(,{,[。需要先把光标移动到括号上
fc #移动光标到同一行的下一个c字符处,c可以为其他字母、数字或者标点符号
Fc #移动光标到同一行的上一个c字符处,c可以是其他字母、数字或标点符号
tc #移动光标到同一行的下一个c字符前,c可以是其他字母、数字或标点符号
Tc #移动光标到同一行的上一个c字符前,c可以是其他字母、数字或标点符号
搜索与替换:
/word #向光标乊下寻找一个名称为 word 癿字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!
?word #向光标之上寻找一个字符串名称为 word 的字符串。
n #这个 n 是英文按键。代表『重复前一个搜寻的动作』。丼例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N #这个 N 是英文按键。与n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
:n1,n2s/word1/word2/g #n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。
:1,$s/word1/word2/gc # 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在区代前显示提示字符给用户确认(confirm) 是否需要取代。
:%s/word1/word2/g #将整篇文章的word1取代为word2。%代表整篇文章
r #替换光标所在的字符
R #替换知道按esc退出
插入:
i #在光标前插入
I #在当前行第一个非空字符前插入;
a #在光标后插入;
A #在当前行最后一个非空字符后插入;
o #在下面新建一行插入;
O #在上面新建一行插入;
删除(剪切)动作 d:
dd #删除(剪切)光标所在的那一整行,并将内容复制到剪贴板。
d1G或dgg #删除(剪切)光标所在行到第一行的所有数据
dNG #删除(剪切)光标所在行到第N行的所有数据
dG #删除(剪切)光标所在行到最后一行的所有数据
d$或D #删除(剪切)光标所在处到该行最后一个字符的所有数据
d0 #删除(剪切)光标所在处到该行第一个字符的所有数据
dw #删除(剪切)光标所在处到当前单词的最后一个字符的所有数据
dtc #删除所有的内容,直到遇到字符c。c可以是字母、数字或标点符号
x,X #在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)
复制动作 y:
yy或Y #复制光标所在的那一整行,并将内容复制到剪贴板。
yNG #复制光标所在行到第N行的所有数据
yG #复制光标所在行到最后一行的所有数据
y$ #复制光标所在处到该行最后一个字符的所有数据
y0 #复制光标所在处到该行第一个字符的所有数据
改写动作 c:
cw #改写光标处到当前单词末尾的所有字符
c$或C #改写光标处到当前行末尾的所有字符
粘贴:
p,P #P在光标之前粘贴,P在光标之后粘贴
缩进:
<< 向左缩进一个shiftwidth
>> 向右缩进一个shiftwidth
==: #两个==,自动缩进光标所在行。其实是=+任意字符。
[V]+[=]: #先用V选中要缩进的行(其实用ctrl+v或v也可以),然后按=就可以自动给缩进。所以[V]+[=]和==是等价的。
[gg]+[V]+[G]+[=]: #gg到第一行,V选中第一行,G到最后一行(即选中全文),=自动给缩进。这几个命令是全文自动缩进
命令行模式:
:setnu #显示行号,设置之后,会在第一行的前缀显示改行的行号
:set nonu #与set nu相反,为取消行号
:w #将编辑的数据写入硬盘文件中
:w! #将编辑的数据写入硬盘文件中
:q #离开vi
:wq #保存后离开,若为“:wq!"则为强制保存后离开
ZZ #这是大写的Z。若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开。
块选择:
v: #字符选择,会将光标经过的地方反白选择
V: #行选择,会将光标经过的行反白选择
[Ctrl]+v: #块选择,可以用长方形的方式选择数据
y #将反白的地方复制起来
d #将反白的地方删除
自动补全:
[Ctrl]+p或者[Ctrl]+n
批量操作:
批量注释:
首先定位到要注释的行首并按Ctrl + V(windows:Ctrl + P)进入块模式。然后按J或者K选中要注释的所有行。最后按大写I进入行首插入模式输入注释符号"//"或者"#",按ESC键退出。这样选中的所有行的行首就都被插入了注释符。
批量取消注释:
Ctrl + V进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释
参考资料:
1.《鸟哥的linux私房菜》
2. http://blog.csdn.net/donahue_ldz/article/details/17139361
3. http://coolshell.cn/articles/5426.html
4. http://blog.csdn.net/xiajun07061225/article/details/8488210
相关文章推荐
- 小码哥学习感想第一天
- 某辉回来授心得
- 永远需要迈出第一步——48 GameJam赛后有感
- 2015071202 - 大圣归来
- Windows 7 在资源管理器中显示软件快捷方式
- iOS证书说明和发布内购流程整理
- 从链表操作理解C++传指针的问题
- 打开FlashBuilder秒退
- 七彩导航栏的制作(二)
- Linux 4.0+内核对硬件交换模块的支持(HW Switch Offload)
- OpenCV学习-搭建环境
- The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
- linux程序设计——把管道用作标准输入和输出(第十三章)
- 汽车租赁系统总结
- 了解动态链接(六)—— 重定位表
- Android样式资源
- Node:链式前向星
- PAT乙级 1008. 数组元素循环右移问题
- IOS购买支付篇 In App Purchase
- 2015071201 - 团购欢乐谷年卡