1、常用命令

  /xxx     查找xxx
n 执行上一次查找 0 到行首
w 光标往后移动一个词
b 光标往前移动一个词 x 删除当前一个字符
dw 删除一个单词
D 删除到行尾
dd 删除整行 V 选中整行
y 将选中部分的内容复制到剪切板
p 在光标下方粘贴剪切板中的内容 u 撤销上一次修改 numG 移动光标到指定的行(num)。(比如 10G 就是到第 10 行)
gg 到文件开始
G 到文件末尾 :wq 保存退出
:q! 不保存退出,一旦修改错误,就放弃修改

2、状态模式

  1)编辑模式:

    可以进行正常的编辑操作
左下方显示 -- INSERT -- "在命令模式下输入 i 能够进入编辑模式" 2)命令模式: 可以输入操作命令
左下方什么也不显示 "在编辑模式下按 esc 能够返回到命令模式"

3、基本设置

  更改vi关键字颜色

    系统用户目录下输入  

      $ vi .vimrc

    输入以下内容保存

      syntax on                   "自动语法高亮
set tabstop=4 "设定tab长度为4
set softtabstop=4 "按退格键一次删掉4个空格
set ruler "打开状态栏标尺 set number "显示行号 set nocompatible "关闭 vi 兼容模式
colorscheme evening "设定配色方案
set shiftwidth=4 "设置《 和 》命令移动时的宽度为4
set nobackup "覆盖文件时不备份
set autochdir "自动切换当前目录为当前文件所在的目录
set backupcopy=yes "设置备份时的行为为覆盖 filetype plugin indent on "开启插件

4、文本编辑

  1)打开文件:

    vi 文件名  

  2)退出文件:

    按住 shift 连按两次 z 键( :q )退出 vim 编辑器

  3)保存文件:

    在命令模式下输入’:w’回车

  4)光标移动:

    命令模式下

      h   左移
j 下移
k 上移
l 右移
w 下一个单词的词首
$ 行尾
^ 行首
gg 文件第一行的头部
G (shift + g) 文件最后一行的头部 5)文件编辑: 命令模式下 yy 拷贝光标所在的行
nyy 从当前光标开始拷贝n行
p 将拷贝的内容粘贴在下一行
dd 删除(剪切)光标所在的行
ndd 从当前光标开始删除n行
u 撤销上一次指令
o 当前行下一行插入一行,并进入编辑模式
O (shift + o) 当前行上一行插入一行,并进入编辑模式
a 将光标移动到当前位置的下一个字符,并进入编辑模式
x 删除光标位置字符

5、编译运行

  1)编译器环境监测

    终端下输入
$ gcc 若显示如下表示机器上装有 gcc 编译环境
clang: error: no input files 2)编译链接 $ gcc -o hellotest hello.c 将 hello.c 文件编译生成目标文件 hellotest

$ gcc hello.c -o hellotest

$ clang -fobjc-arc hello.c -o hellotest 3)运行 $ ./hellotest 运行文件 hellotest

Mac Vim 编辑器的更多相关文章

  1. iOS - Mac Vim 编辑器

    Mac Vim 编辑器 1)vi 文本编辑器 1.打开一个文件:vi 文件名 按住 shift 连按两次 z 键( :q )退出 vi 编辑器 2.vi 两种模式:第一是命令模式(按 esc 进入命令 ...

  2. mac vim编辑器常用操作快捷方式

    0 行首$ (shift+6)行尾gg 文首G(shift+g) 文尾A(Shift+a)文尾,并编辑ctrl+f 向上翻页ctrl+b 向下翻页ctrl+u 向上翻半页ctrl+d 向下翻半页数字+ ...

  3. vim编辑器详解

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...

  4. mac vim shell配置

    一 : vim 配置 1 目录/usr/share/vim/vimrc 2 Python 自动缩进 http://blog.csdn.net/ikerpeng/article/details/1866 ...

  5. 【CNMP系列】VIM编辑器详解

    缘起 大学的时候做过Linux内核驱动程序研发,之前写C语言就是用的Vim编辑器,当年的Vim还不如今天之强大,当时的插件也没有现在这么多,只是觉得这个编辑器能满足我想要的所有,查看Linux内核代码 ...

  6. 零基础学习Vim编辑器

    **********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑 ...

  7. Vi编辑器和Vim编辑器的区别及联系

    Vi和Vim它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面,vi使用于文本编辑,但是vim更适用于coding.vim的这些优势主要体现在 ...

  8. Linux学习之十三-vi和vim编辑器及其快捷键

    vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...

  9. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

随机推荐

  1. Node.js中 express-session的奇怪问题

      var session = require('express-session');   app.use(cookieParser()); 行 登录以后访问的时候有时候会报这样的错误: The la ...

  2. 编程实战——电影管理器之XML存储电影信息数据

    但凡管理器之类的软件,存储数据是必不可少的.存储数据的话,有几种选择.一是用数据库,把数据存储到数据库里:一是用文本文件,把数据存储到文本文件里:一种是利用XML文件,把数据对象转换为XML后,存储到 ...

  3. OpenGL ES 3.0顶点着色器(一)

    OpenGL ES 3.0流程图 1.Vertex Shader(顶点着色器) 顶点着色实现了一种通用的可编程方法操作顶点. 顶点着色器的输入包括以下几个: • Shader program.程序的顶 ...

  4. linux 文件系统与磁盘修复

    fsck修复受损的文件系统   Linux不正常关机,有时候再次启动时会报文件系统损坏,如何修复文件? 首先会让你输入root用户的密码.  1)出错的时候如果告诉你是哪一块硬盘的分区有问题,比如是/ ...

  5. 10分钟精通require.js

    require.js的诞生,就是为了解决这两个问题:(1)实现js文件的异步加载,避免网页失去响应:(2)管理模块之间的依赖性,便于代码的编写和维护. 实例下载:require.js应用实例 一.re ...

  6. LintCode: Number of Airplanes in the Sky

    C++ (1)把interval数组中的所有start和所有end放在同一个数组中,然后进行排序,遇到start就起飞一架飞机,遇到一架end就降落一架飞机,所以start有个+1属性,end有个-1 ...

  7. ZH奶酪:Ubuntu 14.04配置LAMP(Linux、Apache、MySQL、PHP)

    ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP) 之前已经介绍过LAMP的安装,这边文章主要讲解一下LAMP的配置. 1.配置Apache (1)调整Ke ...

  8. 微软BI 之SSRS 系列 - 报表中分组聚合中处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号)

    分组聚合的展开和收起效果在SSRS Report中非常常用,并且有时还要处理一些比较特别的情况.比如分组合并时有的层次结构是不规则的,有的组有两层,遇到这种情况应该如何处理?   注意到下面的这个需求 ...

  9. 使用devenv/MSBuild在命令行编译sln或csproj

    一 使用devenv来build单个project   devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual ...

  10. 【Oracle】RAC下的一些经常使用命令(一)

    节点层: olsnodes -n:显示每一个节点编号. [oracle@rac1 ~]# olsnodes -n rac1    1 rac2    2 -p:显示每一个节点用于private int ...