概述
三种模式:命令模式(command mode) 插入模式(insert mode ) 底线命令模式(last line mode)
命令模式:
用户刚启动vi/vim,便进入了命令模式
i 切换到插入模式,以输入字符
x 删除当前光标所在处的字符
: 切换到底线命令模式,在最底一行输入
插入模式:
在命令模式下按下i进入插入模式
enter 回车键 换行
back space 退格键 删除光标前一个字符
方向键 上下左右 在文本中移动光标
home/end 移动光标到行首、行尾
page up / page down 上下翻页
esc 退出插入模式,切换到命令模式
底线命令模式:
在命令模式下按:进入底线命令模式
:q 退出
:w 写入即保存文件
:wq 保存并退出
:q! 不保存退出
在非命令模式下,按esc返回命令模式。
命令模式下的 快速删除
D 删除当前光标所在位置到某一行的结尾
d$ 删除当前光标所在位置到某一行的结尾
dd 删除当前所在行
5dd 删除从当前行至其后的5行内容 (包括游标所在的那一行)
dL 删除当前位置到屏幕上最后一行的内容
dH 删除当前位置到屏幕上第一行的内容
dG 删除当前位置到工作缓存区结尾的内容
d1G 删除当前位置到工作缓存区开始的内容
x 向后删除一个字符
X 向前删除一个字符
删除所有内容(先用G转到文件尾) ,使用:
:1,.d
或者删除第9行到第200行的内容(先用200G转到第200行) ,使用
:9,.d
删除说明:“.”当前行 ,“1,.”表示从第一行到当前行 ,“d”删除. 输入冒号的时候,已经进入了底线命令模式了
命令模式下的 光标快速移动
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!
Ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键
Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处
$ 或功能键[End] 移动到这一行的最后面字符处
^ 移动到行首第一个字符处
G 移动到这个档案的最后一行
gg 移动到这个档案的第一行
n<Enter> n 为数字。光标向下移动 n 行
ngg 或者nG或者:n 跳动到第n行代码
{ 移动到段首
} 移动到段尾
w 移动到下一词
b 移动到上一词
H 移动光标到屏幕顶端
M 移动到屏幕中间
L 移动到底部
` 移动到上次编辑文件的位置
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可
n 重复前一个搜寻的动作
N 『反向』进行前一个搜寻动作
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2
:n1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
:n1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代
统计查找字符串的个数
:%s/pattern//gn
pattern代表要查找的字符串
如果是特殊字符在前面加&符号转义
:%s/&pattern//gn
yy 复制游标所在的那一行
nyy n 为数字。复制光标所在的向下 n 行
p 为将已复制的数据在光标下一行贴上
P 为将已复制的数据在光标上一行贴上
u 复原前一个动作(撤销)
Ctrl + r 重做上一个动作
. 重复前一个动作
命令模式 到 插入模式
i 从目前光标所在处插入
I 在目前所在行的第一个非空格符处开始插入
a 从目前光标所在的下一个字符处开始插入
A 从光标所在行的最后一个字符处开始插入
o 在目前光标所在的下一行处插入新的一行
O 在目前光标所在处的上一行插入新的一行
r 只会取代光标所在的那一个字符一次
R 会一直取代光标所在的文字,直到按下 ESC 为止
命令模式到底线命令模式
:w 将编辑的数据写入硬盘档案中
:w! 强制将编辑的数据写入硬盘档案中
:q 离开
:q! 为强制离开不储存档案
:wq 储存后离开
:wq! 强制储存后离开
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 取消行号
:e 刷新
批量增加注释,删除注释
Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下ESC,Vim会自动将你选中的所有行首都加上注释,保存退出完成注释。
Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释,ESC保存退出。
关于行号
显示行号: 命令模式 :set nu 取消行号 :set nonu
跳到指定行:
1. 正常模式下 ngg 或nG n为指定行数。 gg 文件第一行, G文件最后一行
2. 命令模式下: :n
跳到指定列:
1. 0或者| 可以跳转到光标当行的行首; ^ 移动到行首第一个字符处
2. $ 跳转到行尾;
3. 0nl 或者 n| 跳转到第n列;
最后
以上就是忧郁野狼为你收集整理的vi/vim使用命令的全部内容,希望文章能够帮你解决vi/vim使用命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复