【vim】插入模式与常用编辑操作

vim不像很多编辑器那样一启动便可以直接编辑文本,需要在普通模式按下i, a等键才会进入插入模式进行文本编辑。

如何进入插入模式

以下的命令都会让vim从普通模式切换到插入模式,但命令执行后的字符插入位置有所不同。

命令执行后的字符插入位置
i 当前字符之前
I 当前行首第一个非空白字符之前 
a 当前字符之后
A 当前行尾
s 删除当前字符,光标停留在下一个字符处
S 删除当前行,光标停留在行首
o 在当前行的下方插入一个新行,光标停在新行行首
O 在当前行的上方插入一个新行,光标停在新行行首

 

常用编辑操作

上一篇文章《vim】正常模式下的一般操作》已经提到过,vim中的很多操作都可以指定数量、范围和方向等,编辑操作也不例外。为了简洁,下表不会和上一篇一样根据动作范围不同分类(如单词操作只给出w,不给出W,e,E,b,B等),而是只给出几个经典操作,排列组合的举例在下一小节介绍一些,具体的多种变化还是需要自己在实际使用中尝试和练习。

类型
命令说明
复制yw 复制光标后的一个单词
yy 复制当前行
<n>yy 复制以下n行
yG 复制当前行到文件末尾的内容
y%、ya{ 光标放在{上,复制{}及其内部中的内容
剪切/删除x 剪切当前字符,相当于dl
X 剪切前一个字符,相当于dh
dw、cw 剪切光标后的一个单词,d和c的区别是c会进入插入模式,下同
D、C 剪切到行尾,相当于d$,c$
dd、cc 剪切当前行
<n>dd、<n>cc 剪切以下n行
dG 剪切当前行到文件末尾的内容
J 在上一行中任意位置按J,将会把下一行合并到这行末尾(Join)
粘贴p 将剪切板中的内容粘贴到光标后
P 将剪切板中的内容粘贴到光标前
替换r 按下后,再输入字符将替换当前字符
R 按下后,进入替换模式,将依次替换之后字符
撤销u 
重做<Ctrl>+r 
缩进>>  当前行向右缩进
<< 当前行向左缩进
<n>>> 以下n行向右缩进
<n><< 以下n行向左缩进
== 自动调整当前行的缩进,使之与上下文
<n>== 自动调整以下n行的缩进
gg=G 自动调整文件所有行的缩进
转换大小写 ~ 转换当前字符的大小写
guw 将光标后的单词全部变为小写
gUw 将光标后的单词全部变为大写
guu 将当前行全部变为小写
gUU 将当前行全部变为大写
块注释*注释

 假如要将第8行到第16行的内容用//注释掉,步骤是
 1. 光标定位到第8行行首
 2. 按<Ctrl>+v进入可视模式(Visual Block)
 3. 按j或向下箭头,定位到第16行行首
 4. 按<Shift>+i,输入//
 5. 按一次或两次<Esc>

取消注释

 假如要将第8行到第16行用//注释的内容取消注释,步骤是
 1. 光标定位到第8行行首
 2. 按<Ctrl>+v进入可视模式(Visual Block)
 3. 按j或向下箭头,定位到第16行行首,按l或向右箭头,选中//
 4. 按d或x,删除//

 *其中块注释用到了可视模式的操作,这本应该在后面某篇中介绍的,但这个操作很重要,所以在这里介绍一下。取消注释第3步中定位到第16行行首和向右移动选中//两个操作,可以互换。

组合命令示例

y3w  复制光标后3个单词
d2$  剪切光标到下面第2行的末尾
>}  将当前行到下一个空行之间的内容向右缩进
=%  光标放在{或}上,执行后自动缩进{}中间的内容
3gUU  将以下3行全部变为大写
dt<c>  在当前行内,删除从光标处到后面第1个字符<c>的内容

不常用的编辑操作

.  (小数点) 可以重复上一次的命令
<n><Command>  重复某个命令n次
:r!date  插入日期

 

转载于:https://www.cnblogs.com/zzqcn/p/4660572.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值