Linux的修仙之路——文本编辑器

本文介绍了Linux环境下常用的文本编辑器Vim、Emacs和Nano的特点及操作,强调了Vim的模式选择和常用快捷键。同时,讲解了C程序的编译过程,包括预处理、编译、汇编和链接,并提到了gcc的警告提示功能和调试工具gdb的使用。
摘要由CSDN通过智能技术生成

常用文本编辑器

当你步入Linux修仙的那刻起,文本编辑器便化身你的利剑让你在Linux的江湖中任意厮杀,不断成长。因此不同的英雄要陪不同的宝剑,因此我们对现行的几款热门文本编辑器进行测评,快来挑选你们的称心好物吧!

  • Vim

在这里插入图片描述
Vim 是一个高度可配置的、跨平台的、高效率的文本编辑器,几乎所有的 Linux 发行版本都已经内置了 Vim ,由于其特性之丰富,它已经变得非常流行了。Vim 支持格式高亮,宏记录和操作记录。

在Vim官网上,它是这样介绍的:如何使用它完全取决于你。你可以仅仅使用它作为文本编辑器,或者你可以将它打造成一个完善的IDE(集成开发环境Integrated Development Environment):

  • EMACS

在这里插入图片描述

Emacs 是一个跨平台的、既有有图形界面也有命令行界面的软件。它也拥有非常多的特性,更重要的是,可扩展!

Emacs 可以处理几乎所有类型文本文件,它的界面可以定制以适应你的工作流,它也支持宏记录和快捷键。Emacs 独特的特性是它可以“变形”成和文本编辑器完全不同的的东西。有大量的模块可使它在不同的场景下成为不同的应用,例如:计算器、新闻阅读器、文字处理器等,你甚至都可以在 Emacs 里面玩游戏。

  • NANO

在这里插入图片描述
Nano 仅仅拥有最基础的文本编辑软件的功能。它是非常小巧的,非常适合编辑系统配置文件。对于那些不需要复杂的命令行编辑功能的人来说,那么Nano 是完美配备。

  • The Nice Editor (ne)

在这里插入图片描述
基本上 ne 拥有像 Vim 和 Emacs 一样多的高级功能,包括:脚本和宏记录。但是它有更为直观的操作方式和平滑的学习路线。

Vi编辑器

看了那么多编辑器,是不是各位童鞋们眼睛都要挑花了,想要完全掌握以上编辑器操作肯定是需要耗费一些时间的,因此我们来了解一个平时我们经常用到的Vi编辑器,它几乎内置与所有Linux版本,因此学习Vi编辑还是十分有必要的,废话不多说,咱们走着!

模式选择

  • 一般模式
    一般模式为默认模式,可以进行删除、复制、粘贴操作.
  • 编辑模式
    (左下方出现INSERT、REPLACE字样)进行编辑
  • 命令模式
    光标移至最底层,提供搜寻资料功能(读取、存盘、大量取代字符、离开vi、显示行号)

一般操作

1、启动Vi编辑器

形式:Vi test.c/Vi(如果文件存在,打开,否则自动新建)

2、模式切换

在这里插入图片描述3、退出Vi编辑器

  • :wq x 存盘退出
  • q! 强制退出

vi常用快捷键

  • 文件相关类
按键功能
:w保存修改到当前文件
:w file保存修改到指定的file文件
:n1,n2w file将从n1开始到n2结束的行写到file文件中
:nw file将第n行写到file文件中
:l,.w file将从第一行到光标当前位置的所有文件内容写到file文件中
:.,$w file将从光标当前位置起到文件结尾的所有内容写到file文件中
:r file打开另一个文件file
:e file新建file文件
:f file把当前文件改名另存为file文件
:set nu显示行号
  • 字符串搜索、替换和删除
按键功能
:/str/从当前光标开始往右移动到有str的地方
:?str?从当前光标开始往左移动到有str的地方
:/str/w file将包含有str的行写到文件file中
:/str1/,/str2/w file将从str1开始到str2结束的内容写入file
: s/str1/str2/将第1个str1替换为str2
: s/str1/str2/g将所有str1替换为str2
  • 文本的复制、删除和移动
按键功能
:$d删除从当前行到结尾的所有内容
:/str1,/str2/d删除从str1开始到str2为止的所有内容
:n1,n2co n3将从n1开始到n2为止对的所有内容复制到n2后面
:n1,n2 m n3将从n1开始到n2为止对的所有内容移动到n2后面
:d删除当前行
:nd删除当前行开始的n行
:n1,n2 d删除从n1开始到n2为止的所有内容
nyy复制光标所在的行(多行复制输入n)
P(小写)在光标所在行的下一行粘贴内容
P(大写)在光标所在行的上一行粘贴内容
ctrl+r重复上一次的操作
.重复上一次的操作
  • 执行shell命令
按键功能
:!Cmd运行shell命令Cmd
:n1,n2w!Cmd将n1到n2行的内容作为Cmd命令的输入,如果不指定n1和n2,则将整个文件的内容作为命令Cmd的输入
:r!Cmd将命令运行的结果写入当前行位置
  • 常用键和补充键
按键功能
x删除光标处的字符
dd删除整行
i在光标前插入文本
a光标后插入文本
o当前行下插入文本
u撤销最后一次修改
:e!放弃所有修改
:q!不保存退出
/pattern从光标开始处向文件尾搜索pattern
?pattern从光标开始处向文件首搜索pattern
h或^h向左移一个字符
j或^j或 ^n向下移一行
k或^p向上移一行
l或空格向右移一个字符
G移到文件的最后一行
nG移到文件的第n行
w移到下一个字的开头
b移到前一个字的开头
L移到屏幕的最后一行
H移到屏幕的第一行
(移到句子的开头
)移到句子的结尾
{移到段落的开头
}移到下一个段落的开头
dw删至下一个字的开头
ndw从当前光标处往后删除n个字
dG删除行,直到文件结束
^w插入时,删除前面的字
^h或backspace插入时,删除前面的字符
J将下一行连接到当前行的末尾
n<<使n行都向左移动一个宽度
n>>使n行都向右移动一个宽度
:set ai打开自动缩进

C程序的编译

Linux应用程序分为可执行文件、脚本文件。

C语言是大家的老朋友了,很多科班非科班的童鞋都跟他打过交道,有的人和他成为了挚爱亲朋,此后相死相依。有的人匆匆一面从此人海永不再见。有的人痛入骨髓,发誓此生对立两面。不管以前你们发生过什么故事,在Linux修仙这条路上还是免不了要和他打个交道,因此我们来了解一下C程序的编译!

  • gcc编译器编译过程

    1、预处理

    gcc -E hello.c -o hello.i

    2、编译

    gcc -c hello.i -o hello.o

    3、汇编

    4、链接

    gcc hello.o -o hello

  • gcc警告提示功能
    加上-pedantic选项,则使用了扩展语法的地方将产生相应警告。

  • 调试运行
    ./生成的程序名(“./”表示当前工作目录)
    将生成的程序目录加入到系统搜索路径的PATH变量

  • 程序调试工具—gdb
    “-g”选项:gcc -g test.c -o test
    打开gdb调试:gdb + file名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值