vim

普通模式下按v选择区域

x:删除光标处字符

G:最后一行

gg:第一行

yy:复制当前行

p:粘贴

u:撤销上一步操作

dd:删除当前行

shift+zz:保存退出

b:前移一个字

w:后移一个字

hjkl:光标左下上右

0:行首

$:行尾

f+字母:(从左往右)移动到相应的字母

F+字母:(从右往左)移动到相应的字母

d+$:删除光标后的所有字符

C:删除光标后的所有字符

d+0:删除光标前的所有字付

命令模式输入行号

ctrl+r:取消撤销

set nu:给当前内容设置上行号

e!:重新打开文件

dw 删除到下一个单词开头

de            删除到本单词末尾

dE            删除到本单词末尾包括标点在内

db            删除到前一个单词

dB            删除到前一个单词包括标点在内

### 替换命令

:'<,'>s/替换项/替换为/g

以下命令将文中所有的字符串idiots替换成managers:

:1,$s/idiots/manages/g

通常我们会在命令中使用%指代整个文件做为替换范围:

:%s/search/replace/g

以下命令指定只在第5至第15行间进行替换:

:5,15s/dog/cat/g

以下命令指定只在当前行至文件结尾间进行替换:

:.,$s/dog/cat/g

以下命令指定只在后续9行内进行替换:

:.,.+8s/dog/cat/g

你还可以将特定字符做为替换范围。比如,将SQL语句从FROM至分号部分中的所有等号(=)替换为不等号(<>):

:/FROM/,/;/s/=/<>/g

在可视化模式下,首先选择替换范围, 然后输入:进入命令模式,就可以利用s命令在选中的范围内进行文本替换。

1、删除每行前10个字符:

:%s/^.\{10\}//

其中,%表示所有行,s表示替换,"%s"可用"1,$"代替(下同);正则表达式"/^.\{10\}//"中,^表示行首;"."表示要删除的字符个数,".\{10\}"表示删除10个字符,可用10个"."表示;

2、删除每行后10个字符

:%s/.\{10\}$//

其中,"$"表示行尾,其他同上;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,835评论 3 48
  • 1. vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v ...
    路痴千行阅读 3,334评论 0 0
  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从...
    壹首簡單的歌阅读 892评论 0 7
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,868评论 1 13
  • 一.vi的基本概念文本编辑器有很多,图形模式下有gedit、kwrite等编辑器,文本模式下的编辑器有vi、vim...
    一线码农阅读 753评论 0 0