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. [Algorithm] Count occurrences of a number in a sorted array with duplicates using Binary Search

    Let's say we are going to find out number of occurrences of a number in a sorted array using binary ...

  2. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. ASP入门(十二)-Application对象

    在一起协同工作以完成某项任务的一组ASP文件称为一个应用程序.Application 对象用于把这些文件捆绑在一起. Application 对象用于在整个应用程序生存期间保存信息. Applicat ...

  4. 【Python】使用torrentParser1.02对单文件torrent的分析结果

    C:\Users\horn1\Desktop\python\41-torrentParser>python torrentParser.py 文件名=./5.torrent 文件结构: anno ...

  5. Linux环境下网络编程杂谈《转》

    今天我们说说“Pre-网络编程”.内容比较杂,但都是在做网络应用程序开发过程中经常要遇到的问题. 一.大端.小端和网络字节序 小端字节序:little-endian,将低字节存放在内存的起始地址: 大 ...

  6. tomcat重启后session没有清除的解决办法

    tomcat的默认设置是:用户保存的session信息会持久到到硬盘中,即使重启tomcat,这些session信息也不会丢失. 如果希望重启tomcat,清除所有session信息,可以修改tomc ...

  7. Qt通过ODBC连接SQL Server2008实践总结

    Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...

  8. JAVA eclipse 安装lombok

    1.下载lombok http://projectlombok.org/download.html 2.点击安装: 如果eclipse没有安装到默认目录,那么需要点击Specify选择eclipse的 ...

  9. C# 只能输入字母或数字

    c# 只能输入字母或者数字 或者退格符 方法一:KeyPress private void textBox2_KeyPress(object sender, KeyPressEventArgs e) ...

  10. An Objective-C Error

    Incompatible integer to pointer conversion assigning to 'NSInteger *' (aka 'long *') from 'int' 主要是因 ...