vi 删除一行_vi和vim的学习笔记(二):简单的文本编辑

前段时间有些其他方面的事没有更新。趁着考试周,课程压力小的时候,补上之前的学习笔记。

转到Ubuntu了,感觉更符合年轻人的审美(哈哈,受对座大佬的影响


Vi命令

按键'i'代表insert,按下之后便可以进行插入文本块等操作。退出插入模式,按下'Esc'即可。在日常的操作中,当我们不知道自己处于那种模式中,可以连续按下两次'Esc',如果听到风鸣声,则代表我们处于命令模式。

单位操作

  • h ——向左移动一个字符
  • j ——向上一行
  • k ——向下一行
  • l ——向右移动一个字符

ps: 可以通过"number + command"的方式实现多单位操作。Ex: "4l"可以将光标向右移动四个单位,其余的类推。在书中被称为数字操作。

在一行中的操作

  • $ ——移动到一行的结尾
  • 0 ——移动到一行的开头(不是O,是zero,踩过的坑,命令O是增加空行

这里的一行可能和屏幕上显示的一行有区别,屏幕输出受命令行的字符宽度限制。可以在底线命令模式下,输入set:nu显示行号。

按文本块移动

  • w ——向后移动一个文本块,符号和标点算一个单独的文本块
  • W ——向后移动一个文本块,不算符号和标点
  • b ——向前移动一个文本块,符号和标点算一个单独的文本块
  • B ——向前移动一个文本块,不算符号和标点

ps: 同样的,可以用"number + command"的方式实现多单位操作。不再赘述。

更改文本

需要替换文件中的文字时,可以用更改命令c来告诉编译器需要更改多少。Ex:

  • cw ——光标到这个单词结尾
  • c2b ——光标到光标前两个单词
  • c$ ——光标到本行结尾
  • c0 ——光标到本行开头

ps: cw也可以更改单词的一部分,例如需要将spelling修改成spelled,可以将光标移到"i"上,再"cw",之后输入"ed",最后按下"Esc"进入命令行。

对于整行操作,vi提供了一个很方便的命令"cc",在输入之后会暂时用一个空行来代替,直到按下"Esc"进入命令行。

当我们需要对单个字符进行更改时,比如修改大小写之类,我们会用命令"r",Ex: 将with中的首字母大写,首先将光标移动至"w"上,再按下"rW",就替换完成啦。

删除文本

删除单词我们用"dw",需要将光标移动至需要更改的单词上,"dw"也可以删除单词的一部分,可以与"cw"操作类比。

删除整行我们用"dd"或者"D",但各自的功能有所不同。"dd"与"cc"类似,是一种形式特殊的命令。(至于咋特殊了,一般vi中的命令是 {{command} {number} {object}} 的格式)"D"只会删除该行光标以后的部分。多行删除为"number + dd"。

删除字符我们用"x",将光标移动至需要删除的字符上方。

关于撤销操作会在以后的学习笔记中详细更新。

移动文本

在vi中,采用“先删除再放置文本”的方式实现文本移动,原理类似"cut" 和 "paste" 。

放置文本的命令"p",会将缓冲区的文本放在光标之后,而"P"会将缓冲区的文本放在光标之前。如果移动了一行以上的文本,p命令把移动的文本放在光标后的新一行或者很多行,如果你移动的文本不到一行,那么p命令会移动到光标之后的同一行。

如果我们只想删除一个字符或者多个字符,那么首先进行的操作是"x"或者"number + x",接着仍然是"p"。

复制文本

复制文本所用的命令为"y","yy",表示复制一整行,与删除和更改不同的是,"Y"的含义与"yy"完全一致,并不存在从该光标到最后的操作,但我感觉可以用"y$"命令来实现这一功能,常见的和其他光标移动命令组合的还有"yw"、"yb"、"y0"等。

重复或撤销上一个命令

是上一个命令,一个,一个,踩过的坑说三遍。在vim中使用的时候,发现是可以连续撤回的。amazing!

"." ——重复

"u" ——撤回

"U" ——将一整行恢复原样,若此时光标在其他行则无效

其他有用的命令

"O" ——在光标前插入空行

"o" ——在光标后插入空行

"A" ——在一行结尾处附加文本

"I" ——在一行开头附加文本

"s" ——删除光标所在位置的字符后,再进行文本替换

"S" ——删除一整行后再替换文本

"R" ——用新的字符覆盖现有字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值