Vim 编辑器常用命令

文档操作
:w —— 保存修改
:wq —— 保存并退出
ZZ —— 保存并退出
:x —— 保存并退出
:q[uit] —— 退出当前窗口
删除
x —— 删除光标所在位置的一个字符
nx —— 删除光标所在位置的后面n个字符
dw —— 向后删除一个单词
db —— 向前删除一个单词
dd —— 删除光标所在行
ndd —— 删除从光标所在行开始的n行
插入文本
I —— 在当前行第一个非空字符前插入
gI —— 在当前行第一列插入
a —— 在光标后插入
A —— 在当前行最后插入
o —— 在下面新建一行插入
O —— 在上面新建一行插入
移动
0 —— 移动到行首
g0 —— 移到光标所在屏幕行行首
g — — 移 动 到 行 尾 g —— 移动光标所在屏幕行行尾
^ —— 移动到本行第一个非空白字符
g^ —— 同 ^ ,但是移动到当前屏幕行第一个非空字符处
n| —— 把光标移到第n列上
nG —— 到特定的行数(n)
:n —— 移动到第n行
n+ —— 移至游标所在位置之后的第 n 列
n- —— 移至游标所在位置之前的第 n 列
:$ —— 移动到最后一行
gg —— 到文件头部
G —— 到文件尾部
f/F+字符 —— 向前/向后移动到特定的字符
( —— 前移1句
) —— 后移1句
{ —— 前移1段
} —— 后移1段
j —— 下移一行
k —— 上移一行
gj —— 移动到一段内的下一行
gk —— 移动到一段内的上一行
+或Enter —— 把光标移至下一行第一个非空白字符
上面的操作都可以配合n使用,比如输入3h, 则光标向左移动3个字符
复制
yw —— 复制单词
yf —— 复制当前字符到指定字符
yy或Y —— 复制当前行
nyy —— 复制当前行开始的n行
y[n]w —— 复制1(n)个词
y$ —— 从光标当前位置复制到行尾
y0 —— 从光标当前位置复制到行首
剪切
d —— 删除(剪切)在可视模式下选中的文本
d$ or D —— 删除(剪切)当前位置到行尾的内容
d[n]w —— 删除(剪切)1(n)个单词
d0 —— 删除(剪切)当前位置到行首的内容
[n] dd —— 删除(剪切)1(n)行
粘贴
p —— 在光标之后粘贴
P —— 在光标之前粘贴
文档操作
:e file —— 关闭当前编辑的文件,并开启新的文件,如果对当前文件的修改未保存,vi会警告
:e! file —— 放弃对当前文件的修改,编辑新的文件
:e+file —— 开始新的文件,并从文件尾开始编辑
:e+n file —— 开始新的文件,并从第n行开始编辑
:enew ——编译一个未命名的新文档
:e —— 重新加载当前文档
:e! —— 重新加载当前文档,并丢弃已做的改动
:e#或ctrl+^ —— 回到刚才编辑的文件,很实用
:f或ctrl+g —— 显示文档名,是否修改,和光标位置
:f filename —— 改变编辑的文件名,这时再保存相当于另存为
gf —— 打开以光标所在字符串为文件名的文件
:n1,n2w filename —— 选择性保存从某n1行到另n2行的内容
删除
x —— 删除游标所在该字元
X —— 删除游标所在之前的字元
r —— 输入新字元取代(replace)游标所在字元(如:ra将游标所在字元以 a 取代)
R —— 进入取代状态,直到Esc为止
s —— 删除游标所在之字元,并进入输入模式,直到Esc
S —— 删除游标所在的一行,并进入输入模式,直到Esc
移动
b —— 移动到上个字的第一个字母
w —— 移动到下个字的第一个字母
e —— 移动到下个字的最后一个字母
B —— 移动到上一个单词开头,忽略一些标点
W —— 移动下一个单词开头,但忽略一些标点
E —— 移动到下一个单词末尾,如果词尾有标点,则移动到标点
H —— 移至视窗的第一行
M —— 移至视窗的中间那行
L —— 移至视窗的最后一行
G —— 移至该文件的最后一行
+ —— 移至下一列的第一个字元处
- —— 移至上一列的第一个字元处
ctrl+b —— 屏幕后移动一页
ctrl+f —— 屏幕向前移动一页
h或退格 —— 左移一个字符
l或空格 —— 右移一个字符
ge —— 后移一个单词,光标停在上一个单词末尾
gE —— 同 ge ,不过‘单词’包含单词相邻的标点
tc —— 把光标移到同一行的下一个c字符前
Tc —— 把光标移到同一行的上一个c字符后
复制
y[n]l —— 复制光标右边1(n)个字符
y[n]h —— 复制光标左边1(n)个字符
:m,ny —— 复制m行到n行的内容
y1G或ygg —— 复制光标以上的所有行
yG —— 复制光标以下的所有行
剪切
d[n]l —— 删除(剪切)光标右边1(n)个字符
d[n]h —— 删除(剪切)光标左边1(n)个字符
:m,nd —— 剪切m行到n行的内容
d1G或dgg —— 剪切光标以上的所有行
dG —— 剪切光标以下的所有行
d/f —— 这是一个比较高级的组合命令,它将删除当前位置到下一个f之间的内容
滚屏
ctrl-u —— 文本向下滚到半屏。光标不随文本移动。相当于文本的窗口上移半屏
ctrl-d —— 窗口向下移动半屏,相当于文本向上滚动了半屏
ctrl-e —— 向上滚动一行
ctrl-y —— 向下滚动一行
ctrl-f —— 向前滚动一屏(forward)
ctrl-b —— 向后滚动一屏(backward)
zt —— 把当前行置于屏幕顶端
zb —— 把当前行置于屏幕底
zz —— 把当前行置于屏幕中央
标记
m{a-z} —— 标记光标所在位置,局部标记,只用于当前文件
m{A-Z} —— 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效
{a-z} —— 移动到标记位置
'{a-z} —— 移动到标记行的行首
{0-9} —— 回到上[2-10]次关闭vim时最后离开的位置
—— 移动到上次编辑的位置。''也可以,不过精确到列,而”精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i
" —— 移动到上次离开的地方
. —— 移动到最后改动的地方
:marks —— 显示所有标记
:delmarks a b —— 删除标记a和b
:delmarks a-c —— 删除标记a、b和c
:delmarks a c-f —— 删除标记a、c、d、e、f
:delmarks! —— 删除当前缓冲区的所有标记
使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进
查找
/something —— 在后面的文本中查找something
?something —— 在前面的文本中查找something
/pattern/+number —— 将光标停在包含pattern的行后面第number行上
/pattern/-number —— 将光标停在包含pattern的行前面第number行上
n —— 向后查找下一个
N —— 向前查找下一个
替换
:s/old/new —— 用new替换当前行第一个old
:s/old/new/g —— 用new替换当前行所有的old
:n1,n2s/old/new/g —— 用new替换文件n1行到n2行所有的old
:%s/old/new/g —— 用new替换文件中所有的old
:%s/^/xxx/g —— 在每一行的行首插入xxx,^表示行首
:%s/ /xxx/gxxx / x x x / g — — 在 每 一 行 的 行 尾 插 入 x x x , 表示行尾

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值