vi/vim 的使用

基本上 vi/vim 共分为三种模式 分别是

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

命令模式:

用户刚刚启动 vi/vim 便进入了命令模式

  • i  切换到插入模式 以输入字符
  • x   删除当前光标所在处的字符
  • :   切换到底线命令模式 以在最底一行输入命令

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式

输入模式:

在命令模式下按下 i 就进入了输入模式

在输入模式中 可以使用以下按键:

  • ENTER(回车键)          换行
  • BACK SPACE(退格键)  删除光标前一个字符
  • 方向键              在文本中移动光标
  • HOME/END                   移动光标到行首/行尾
  • Page Up/Page Down       上/下翻页
  • ESC                         退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下 :(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q   退出程序
  • w   保存文件

按ESC键可随时退出底线命令模式

vi/vim 使用实例

1.使用 vi 来建立名为 test.txt 的文件

vi test.txt

按下 ESC 按钮回到一般模式

在一般模式中按下 :wq 储存后离开 vi

vi/vim 按键说明(一般模式下)

h 或 向左箭头键(←)      光标向左移动一个字符

j 或 向下箭头键(↓)       光标向下移动一个字符

k 或 向上箭头键(↑)      光标向上移动一个字符

l 或 向右箭头键(→)       光标向右移动一个字符

如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

Ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键

Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键

0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处

$ 或功能键[End] 移动到这一行的最后面字符处

G 移动到这个档案的最后一行

gg 移动到这个档案的第一行

n<Enter> n 为数字。光标向下移动 n 行

/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可

n       重复前一个搜寻的动作

N      『反向』进行前一个搜寻动作

:n1,n2s/word1/word2/g       n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

:n1,$s/word1/word2/g        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2

:n1,$s/word1/word2/gc       从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

x   向后删除一个字符

X   向前删除一个字符

dd      删除游标所在的那一整行

ndd     n 为数字。删除光标所在的向下 n 行(包括游标所在的那一行)

yy      复制游标所在的那一行

nyy     n 为数字。复制光标所在的向下 n 行

p       为将已复制的数据在光标下一行贴上

P       为将已复制的数据在光标上一行贴上

u             复原前一个动作(撤销)

Ctrl + r    重做上一个动作

.            重复前一个动作

一般模式切换到编辑模式

i   从目前光标所在处插入

I   在目前所在行的第一个非空格符处开始插入

a   从目前光标所在的下一个字符处开始插入

A   从光标所在行的最后一个字符处开始插入

o   在目前光标所在的下一行处插入新的一行

O   在目前光标所在处的上一行插入新的一行

r   只会取代光标所在的那一个字符一次

R   会一直取代光标所在的文字,直到按下 ESC 为止

一般模式切换到指令行模式

:w      将编辑的数据写入硬盘档案中

:w!     强制将编辑的数据写入硬盘档案中

:q      离开

:q!     为强制离开不储存档案

:wq     储存后离开

:wq!    强制储存后离开

:set nu       显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu     取消行号

mac OS vi/vim 使用教程的更多相关文章

  1. Mac os安装DVWA环境教程

    Mac os安装DVWA环境教程 1.尽管Mac自带Apache和php 事实上Mac和WIN都用XAMPP一键化安装比较方便 2.解压DVWA-master 改名为dvwa移动到XAMPP的目录 3 ...

  2. 虚拟机VirtualBox安装MAC OS 10.12图文教程

    VirtualBox虚拟机安装Mac OS 10.12图文教程的准备 1.VirtualBox虚拟机 下载地址:https://www.virtualbox.org/ 特别提醒:推荐官方下载,安装Vi ...

  3. win10 Vmware12装mac os X10.11虚拟机教程

    1.下载安装VMware 12,具体教程在网上都能看见. 2.下载mac os的镜像,最好下载cdr格式的. 3.在导入虚拟机的时候,到选择客户机操作系统的时候,没有网上出现的Mac os,如下图所示 ...

  4. 使用VMware安装Mac OS的综合整理教程(你要的这里都有……)

    最近打算使用vmware安装Mac系统,听说安装Mac系统是非常繁琐的,经过几番尝试确实如此,所以写下此教程来更完整地讲解能够成功安装mac的步骤,那么废话不多说. 本次教程整合于多个网上教程,但如果 ...

  5. vi, vim 使用教程

    vim 使用教程 ```shcd lscd ../cd -pwdcprmmkdirtarmvmbtar -zcfchmodsshtopqfree ``` 数字0含空字符到行首,^不含空字符到行首.G移 ...

  6. mac /linux vi/vim永久显示行号开启高亮模式

    临时显示:进入vi编辑器,输入命令 :set number     //下次在进入vi 无法显示行号 :set nonumber  //本次vi关闭行号显示 vi 每次修改后推荐使用命令: sourc ...

  7. Mac OS 上 VIM 8.0 安装体验

    VIM 8.0 赶在中秋前发布 The best way to install Vim on Unix is to use the sources. This requires a compiler ...

  8. Mac OS X Git安装教程

    http://code.google.com/p/git-osx-installer上也提供了一个Git的图形化客户端:OpenInGitGui,可以从这里获得,OpenInGitGui十分小巧,下载 ...

  9. VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

随机推荐

  1. Centos6升级内核方法

    docker需要内核在3.0以上,如果centos6上需要安装docker的话需要先将内核进行升级 工具/原料   Centos6.5_x64 方法/步骤     操作系统为centos6.5,内核为 ...

  2. Hadoop(学习&#183;2)

                                                                          Hadoop 操作步骤: 192.168.1.110-113 ...

  3. Golang笔记集

    学习Golang了, 下面分享我的, 还有我收集的Golang的学习资料 我的基础笔记地址: https://github.com/zhuchangwu/go-study-notes 其他参考: Go ...

  4. 2017蓝桥杯日期问题(C++B组)

    标题:日期问题小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的, ...

  5. std::string::append函数

    string& append (const string& str); string& append (const string& str, size_t subpos ...

  6. cmake cpack 安装打包程序

    //set(CPACK_GENERATOR "TGZ") 7Z(.7z) 7Zzip(.7z) TBZ2(tar.bz2) TGZ(.tar.gz) TXZ(.tar.xz) TZ ...

  7. 一个不错的java学习博客

    http://iteye.blog.163.com/blog/static/18630809620131484835129/

  8. vue 全局自定义组件

    1.vue文件 <template> <div style="position: absolute;bottom: 10px;text-align: center;widt ...

  9. 面试问了解Linux内存管理吗?10张图给你安排的明明白白!

    文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天来带大家研究一下Linux内存管理.对于精通 CURD 的业务同学 ...

  10. vue单页应用和和多页应用的区别

    个人见解如下: 单页面应用(SinglePage Web Application  )简称:SPA 多页面应用 (MultiPage Application) 简称:MPA 组成一个外壳和多个页面片段 ...