Vi对于linux的重要性和受欢迎的程度在此一律不表。此刻互联网上不少介绍vi的文章和博客,相信写得比我好的也不在少数。然而为什么我依然写这样一篇文章呢?我对linux知识和了解也都来自于互联网,很难想象在没有互联网的情况下我能不能学会这些最基本的操作。其实用linux也有些年头了,但基本也就停留在小白的阶段。常常抱着够用就行的心态,因而学懂那几行常用的命令后也就再没有深入地了解了。常听人说起,写和讲是为了更好地学。由于各种原因,也有段时间没用vi了。当用起的时候常常会有个印象但又不确定,因而常常GG也就少不了了。与其GG,不如自己记录起来偶尔翻翻。与其说是一篇文章倒不如说是我的私人笔记,文章全然凭自己的理解,写得不明白或者有误的地方也请指出。在我对Vi没有彻底熟烂于心之前,这都是一篇尚未完成的文章。

vi 创建并编辑文件

vi test.txt
  • i 、a 、o 命令

按i、a或者o进入编辑模式

然后输入

this is a test file!

  • esc 退出编辑模式

按键盘又上角的“esc”键退出编辑模式

  • yy 复制和p粘贴

现在复制上面的行并粘贴,输入“yy”复制,然后输入“p”完成粘贴

this is a test file!
this is a test file!
this is a test file!
this is a test file!

  • set:number(set:num)显示行号和set:nonumber(set:nonum)取消行号:

1 this is a test file!
2 this is a test file!
3 this is a test file!
4 this is a test file!

  • :number,

将光标移到指定行号

  • 【 /需要查找的内容】 查找字符串,首次查找后输入“n”即可循环查找字符串

输入“/test”即可查找test这个字符串了,按“n”即可查找下一个想匹配的字符串

  • x 删除光标后的字符,X 删除光标前的字符(与 x 的用法一致), dd 删除行

x可删除光标后面的字符,5x表示删除光标后的5个字符。同理dd可删除光标所在行,5dd则是删除光标后的5行(包含光标所在行)

  • r 替换光标处的字符,R替换光标所到指出的字符,直到按下ESC键为止
  • u 撤销上一次编辑的内容

undo上一次改变。

  • U 撤销当前行编辑的内容

undo当前行所有的改变。

  • Ctrl + R  恢复撤销的内容

redo被undo了的改变。

  • ^ 将光标移到行首和 $ 将光标移到行尾
  • gg 回到文档开始的地方
  • Ctrl+f

向前翻屏

  • Ctrl+b

向后翻屏

  • Ctrl+d

向前翻半屏

  • Ctrl+u

向后翻半屏

  • 保存退出: :x 或 :wq 保存并退出,输入: :q! 不保存退出,:w filename 指定filename保存并退出。
  • 查看文件的十六进制: :%!xxd,与 od  -t x1 filename 的效果一致

批量替换内容

  :%s/原有内容/新内容/g

我常用的Vi命令的更多相关文章

  1. 【原创】一些常用的Vi命令,可帮助脱离鼠标

    使用Vi编写代码时,如果想脱离鼠标,需要使用一些命令快捷键,下面罗列了一些常用的并且容易记住的: 1. 命令模式下,移动光标或跳转 0到行首 ^到行首第一个非空字符 $到行尾非空字符 fx向后移动光标 ...

  2. 【转】一些常用的Vi命令,可帮助脱离鼠标

    使用Vi编写代码时,如果想脱离鼠标,需要使用一些命令快捷键,下面罗列了一些常用的并且容易记住的: 1. 命令模式下,移动光标或跳转 0到行首 ^到行首第一个非空字符 $到行尾非空字符 fx向后移动光标 ...

  3. 不常用的vi命令

    vi u 撤回ctrl+r 撤回的撤回 全文替换%s/old/new/g 指定行区间替换12,15s/old/new/g c替换前确认12,15s/old/new/gc 用#代替分隔符,用户关键字有/ ...

  4. linux:终端常用命令 + vi命令修改文件及保存 方法

    首先介绍一下Ubuntu下各个目录的一般作用: /  这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...

  5. linux vi 命令大全

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  6. linux下vi命令大全

    进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首 ...

  7. (转)linux下vi命令大全

    http://www.cnblogs.com/88999660/articles/1581524.html 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n ...

  8. linux下vi命令大全[转]

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  9. linux下vi命令大全(转载)

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

随机推荐

  1. TEXTAREA自适应文字行数的多少

    <textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight&qu ...

  2. ASP.NET SessionState 解惑

    踩坑 近日在对一个ASP.NET WEBFORM项目进行调优过程中,偶然发现页面POSTBACK事件是串行处理的,甚至不同页面的请求都是串行处理的(一个页面加载完毕后,才开始加载第二个页面).但是网站 ...

  3. manachor

    在原字符串每个字符间各插入一个未曾出现的字符,在字符串头插入另一个未出现的字符防止越界,求出的p[i]-1既为以i为中心的最长回文串的长度 void manacher(){ ,id; ;i<=n ...

  4. 可变长子网掩码 VLSM

    2014-05-05 17:26:08 标签:IP地址 路由器 技术部 路由表 长子 VLSM的介绍: VLSM(VLSM(Variable Length Subnetwork Mask,可变长子网掩 ...

  5. 【C#】C#容易忽视的错误

    1.string 拼接站内存,前提是字符串比较多的时候string 字符串类型拼接占内存,解决方法就是用 StringBuilder和String.Format2.不知道内置的验证数据类型的方法. ; ...

  6. [转]Struts2理解--动态方法和method属性及通配符_默认Action

    众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...

  7. 前端ps常用的小技巧

    一些很简单的例子,知道的就当看乐子. 1.T 是文字的  可以从矢量图中查看文字的大小 字体 颜色,具体就是T  选择一段文字,点确定,点击属性栏最后一个可以看详细信息.又字体,行高,颜色.如果要选取 ...

  8. bzoj4498: 魔法的碰撞

    首先,如果排列确定,那么就可以组合学解决了,不过排列数很多,显然不能枚举. 我们发现如果区间不能重叠的话,总长度减去所有区间长度就是能用的多余格子数. 然而相邻区间可以重叠较小区间一半的长度,因此这些 ...

  9. bzoj2555: SubString

    SAM+LCT维护parent tree版本 虽然说子树维护那套理论需要ETT 不过parent tree的根是固定的,所以用lct加一些奇怪的乱搞就行了 //随手拖个SAM的板子和LCT的板子,然后 ...

  10. wcf测试证书的创建

    如何创建证书: makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangServer -sky exchange -pe     (服务端证书) ...