vi/vim 使用实例

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

vi test.txt
1
按下 ESC 按钮回到一般模式

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

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

命令模式(Command mode)
插入模式(Insert mode)
底线命令模式(Last line mode)
- 命令模式:

启动 vi/vim,便进入了命令模式

i  切换到插入模式,以输入字符。

x 删除当前光标所在处的字符。

: 切换到底线命令模式,以在最底一行输入命令。

- 输入模式:

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

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

ENTER(回车键)     换行

BACK SPACE(退格键)    删除光标前一个字符

方向键        在文本中移动光标

HOME/END   移动光标到行首/行尾

Page Up/Page Down 上/下翻页

ESC     退出输入模式,切换到命令模式

- 底线命令模式:

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

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

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

q   退出程序

w   保存文件

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

按键操作

x 向后删除一个字符

X 向前删除一个字符

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

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

yy 复制游标所在的那一行

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

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

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

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

Ctrl + r 重做上一个动作

.   重复前一个动作

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

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

命令后加!是强制的意思
=================================

举例说明:

vim .bash_profile

下面出现一系列文本字符就是 .bash_profile 文件的内容。

然后键盘输入 i 进入插入模式。

然后输入

export JAVA_HOME = $(/usr/libexec/java_home)

然后按 esc 退出插入模式

然后键盘输入 : 进入命令行模式

然后输入 wq

保存退出。

mac 命令行下 vim 的使用的更多相关文章

  1. .NET跨平台:在mac命令行下用vim手写ASP.NET 5 MVC程序

    昨天在 Mac 上手写了一个最简单的 ASP.NET 5 程序,直接在 Startup.cs 中通过 Response.WriteAsync() 输出响应内容,详见 .NET跨平台:在Mac上跟着错误 ...

  2. mac 命令行下连接到MySQL mysql: command not found

    mac下刚刚安装完MySQL后使用命令连接到MySQL mysql -uroot -p 提示:  -bash: mysql: command not found使用  /usr/local/mysql ...

  3. Linux命令行下的vim文本编辑器

    Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...

  4. 【Python】iichats —— 命令行下的局域网聊天程序

    转载请声明出处:http://www.cnblogs.com/kevince/p/3941728.html   ——By Kevince ii系列工具第三弹,命令行下的局域网聊天程序 原理: 程序启动 ...

  5. git 命令行下浏览器tig使用记录

    git 命令行下浏览器tig使用记录 tig 是一款优化 git 命令行的工具,使 git 命令行更加的便捷人性化 .如果用习惯了,会上瘾. 以下是一些使用记录: 安装成功后,在 Repo 文件夹下, ...

  6. Windows Git Bash命令行下创建git仓库并更新到github

    大二的时候就听过老师说有一个叫git的版本管理工具,当时只是听老师说说而已,也没有去使用它,因为当时用过svn,就感觉自己没多少东西需要git管理. 最近几天,我经常在开源中国看别人的帖子,看到别人对 ...

  7. 转:开启命令行下的社交-webqq脚本

    最近一直在命令行下工作,除了 Google Chrome,几乎很少接触 GUI 相关的软件.前段时间把手机上的 QQ 给卸载了,希望可以把时间凝聚在更加有价值的位置,今天突然又想起了这个软件,突发奇想 ...

  8. mac命令行配置网络

    mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...

  9. Linux系统——28个命令行下的工具

    Unix/Linux下的28个命令行下的工具 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不 ...

随机推荐

  1. Android中实现长按照片弹出右键菜单

    场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...

  2. 痞子衡嵌入式:ARM Cortex-M内核那些事(6)- 系统堆栈机制

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M堆栈机制. 今天给大家分享的这篇依旧是2016年之前痞子衡写的技术文档,花了点时间重新编排了一下格式.前面痞子衡 ...

  3. open Live Writer 代码插件安装

    1,第一步:下载open live writer插件,下载地址:http://www.cnblogs.com/memento/p/5995173.html 2,拷贝文件到Plugins目录(自己建立) ...

  4. css3神奇的背景控制属性+使用颜色过渡实现漂亮的渐变效果

    css3背景图像相关 兼容性:IE9+ background-clip  背景图片绘制区域 background-clip:border-box; 内容区 <!DOCTYPE html> ...

  5. 文件下载(download) 前后台备注自用

    1.后台 1.1 ResponseBean 返回封装的格式 @Data @Accessors(chain = true) public class ResponseBean { private Str ...

  6. Socket通讯探索(二)-socket集群

    前面我们在章节“Socket通讯探索(一)”中如何实现一个tcp连接,但是这仅仅是一个最初级的BIO实现,且没有添加线程池,实际应用中很少采用这种方式,因为不得不考虑当大量的Tcp连接建立的时候,服务 ...

  7. 【编译原理】TEST递归下降演示

    MyUtil.java package Util; import Value_Final.RRule; public class MyUtil { /** * 判断字符串是否是关键字 * @param ...

  8. html+layui

    添加html+layui项目 先引用一个js文件 <form class="layui-form" action=""> <link href ...

  9. tensorflow数据集加载

    本篇涉及的内容主要有小型常用的经典数据集的加载步骤,tensorflow提供了如下接口:keras.datasets.tf.data.Dataset.from_tensor_slices(shuffl ...

  10. ESLint 使用指南

    ESLint 官方文档 About 页面分 About 和 Philosophy 两个部分对 ESLint 做了介绍,简洁明了,值得一读. 借助 ESLint,可将 静态代码分析 和 问题代码协助修复 ...