Linux第二次实验(第三周)


学习目标

  1. 熟悉Linux系统下的开发环境
  2. 熟悉vi的基本操作
  3. 熟悉gcc编译器的基本原理
  4. 熟练使用gcc编译器的常用选项
  5. 熟练使用gdb调试技术
  6. 熟悉makefile基本原理及语法规范
  7. 掌握静态库和动态库的生成

VI的使用

1.VI的模式

(1)命令行模式

(2)插入模式

(3)底行模式

2.VI的基本流程

(1)进入vi,即在命令行下输入"vi hello",进入命令行模式。

(2)在命令行模式下输入i进入插入模式。

(3)在插入模式中,按"Ese",将当前模式转入命令行模式,并在底行行中输入":wq"(存盘退出)进入底行模式

3.vi功能键的学习过程:

h:左移光标

j:下移光标

k:上移光标

l:右移光标

在命令行模式中:

i:切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会后退

x:删除光标所在为止的一个字符

a:切换到插入模式,并从目前光标所在为止的下一个位置开始输入文字

vim 文件名: 进入Vim编辑器

dw:从当前光标删除至下一个单词的起始处,不包括它的第一个字符

d$:从当前光标删除至行末

de:从当前光标删除至单词末尾,包括最后一个字符

**对于中文的操作是否也是如此?

0:光标移动至行的开头

$:光标移动至行的结尾

e:光标移动至所在处下一个单词尾部

ne:光标移动至所在处下n个单词尾部

w:光标移动至所在处下一个单词开头

nw:光标移动至所在处下n个单词开头

**若所需移动的单词本行不足以提供时会怎样? 答:下一行的单词将用以拼凑

**用d0,d$来加深理解

dd:删除当前行

ndd:删除光标所在处往下n行(包括自己)

u:撤销最后执行的命令,相当于windows中的ctrl+z

U:撤销对整行的修改

ctrl+r:撤销掉撤销的动作

在正常模式下修改命令的格式:

operator [number] motion

operator - 操作符,代表要做的事情,比如d代表删除

[number] - 可以附加数字,代表动作重复的次数

motion - 动作,代表在所操作的文本上的移动,例如w代表单词(word),$代表行末等等

p:将最后依次删除的内容防止光标之后。(若删除的为行,则需要将光标移至需添加处的上方。若为仅为单词或字母,则可以需要将光标移至需添加出的左方。)

r和一个字符:替换光标所在为止的字符

R:多字符替换

ce:修改文本直到一个单词的末尾(相当于删除+插入的操作)

c [number] motion

c$:修改文本直至行末

**ce与cw的区别?

G:光标移动至文件最后一行

gg:光标移动至文件第一行

nG:光标移动至文件第n行

ctrl+g:显示当前编辑的文件名和文件中光标位置

/和一个字符串:在当前文件中查找该字符串

n:向光标所在处下方查找上一次的字符串

N:向光标所在处上方查找上一次的字符串

?相对于/为逆向查找

ctrl+0:回到之前的位置

ctrl+i:光标移动至较新的位置

%:查找配对的括号

v:进入可视模式

v+方向键:选取所需要进行操作的内容

o:在光标所在的下一行进入插入模式

O:在光标所在的上一行进入插入模式

y:复制

yw:复制一个单词

p:粘贴

[[ : 转到上一个位于第一列的"{"

]] : 转到下一个位于第一列的"{"

{ : 转到上一个空行

} : 转到下一个空行

gd 转到当前光标所指的局部变量的定义


在插入模式中:

完成后输入"Esc"退出编辑


在底行模式中:

输入":wq"存盘退出

输入":q!"放弃所有改动

输入"

Linux第二次学习笔记的更多相关文章

  1. 《Linux内核分析》第二周学习笔记

    <Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...

  2. Linux内核分析第二周学习笔记

    linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  3. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  4. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  5. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序                                         周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...

  6. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  7. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

  8. Linux进程间通信IPC学习笔记之消息队列(SVR4)

    Linux进程间通信IPC学习笔记之消息队列(SVR4)

  9. Linux进程间通信IPC学习笔记之有名管道

    基础知识: 有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)有一个与路径名关联的名 ...

随机推荐

  1. System.Data.Entity 无法引用的问题

    最近刚学MVC,跟着网上的博客学习,发现代码中有这样一句: using System.Data; using System.Data.Entity; 我项目引用的时候,也引用了System.Data. ...

  2. SQL 在表中随机取数据

    在一张10万行产品表(Product)中,随机取10条数据的几种方式: SET STATISTICS IO ON SELECT TOP 10 ID FROM dbo.Product(NOLOCK) W ...

  3. 项目管理工具之Git使用说明

    1.下载Git客户端工具 http://msysgit.github.com/ 2.安装msysgit 下一步 同意GNU协议 选择安装位置 选择TrueType  Front,下一步 不创建启动文件 ...

  4. Effective Java 70 Document thread safety

    Principle The presence of the synchronized modifier in a method declaration is an implementation det ...

  5. ISO9126软件质量模型

    ISO9126软件质量模型,是评价软件质量的国际标准.6个特性27个子特性组成. ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次: 1.质量特性 2.质量子特性 3.度量 ...

  6. HTML5 datalist 标签

    以前需要用JS写一个自动完成组件(Suggest),很费劲.HTML5时代则不用了,直接使用datalist标签,直接减少了工作量.如下 <!DOCTYPE html> <html& ...

  7. linux进程间通信-有名管道(FIFO)

    有名管道(FIFO) 命名管道也被称为FIFO文件,是一种特殊的文件.由于linux所有的事物都可以被视为文件,所以对命名管道的使用也就变得与文件操作非常统一. (1)创建命名管道 用如下两个函数中的 ...

  8. 小结getBytes()默认编码导致的xml字符串中出现乱码

    遇到乱码第一印象想到的是如何统一编码,很少注意到这期间穿插的某些过程也是一大隐患.. sae上部署了一个spring写的微信小程序,手机总关注测试号点击菜单得到的文本消息却是乱码.. 聚焦发送消息的部 ...

  9. Verilog (一) assignment, register and net

    Verilog 区分大小写, 且所有关键字都是小写 1  register = storage keyword reg; default x; variable that can hold value ...

  10. nginx 一二事(3) - 反向代理以及负载均衡

    先来说说正向代理 就是普通的代理,记得高中年代偷跑去网吧是要办卡的 题外话: 就是这货...相信很多80同龄人都有吧...    回到正题,那正向代理就不让你直接访问网络,而需要登录一下网吧的某个系统 ...