当前位置: 首页 > news >正文

Linux:基础开发工具(二)

上一期学习了yum,这一期我们学习一下vim的使用,这篇博客将编写出你在linux的第一段c/c++程序(下一节我们将教如何编译,就可以编译出你在Linux的第一个代码哦),不容错过哦

话不多说,我们正式开始

 编辑器Vim的使用

Linux编辑器-vim使⽤
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,⽽且还有⼀些新的特性在⾥⾯。例如语法加亮,可视化操作不仅可以在终端运⾏,也可以运⾏于x window、 mac os、 windows。我们统⼀按照vim来进⾏讲解

vim的基本概念
课我们讲解vim的三种模式(其实有好多模式,⽬前掌握这3种即可),分别是命令模式(commandmode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:
• 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last
line mode
• 插⼊模式(Insert mode)
只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。
• 末⾏模式(last line mode)
⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。
在命令模式下,*shift+:*(就是:) 即可进⼊该模式。要查看你的所有模式:打开 vim,底⾏模式直接输⼊,下面附上关系图


:help vim-modes
我这⾥⼀共有12种模式,我们只需要了解主要的几种就行

等等等,我这个是配置过的vim,后面会教如何配置
2-3 vim的基本操作

• 进⼊vim,在系统提⽰符号输⼊vim及⽂件名称后,就进⼊vim全屏幕编辑画⾯:


• 不过有⼀点要特别注意,就是你进⼊vim之后,是处于[正常模式],你要切换到[插⼊模式]才能够
输⼊⽂字。
• [正常模式]切换⾄[插⼊模式]
• 输⼊a:光标会再下一个字符(不常用)
• 输⼊i:光标会在当前位置 (常用)
• 输⼊o:光标会新建下一行 (常用)
• [插⼊模式]切换⾄[正常模式]
• ⽬前处于[插⼊模式],就只能⼀直输⼊⽂字,如果发现输错了字,想⽤光标键往回移动,将该字删
除,可以先按⼀下「ESC」键转到[正常模式]再删除⽂字。当然,也可以直接删除。
• [正常模式]切换⾄[末⾏模式]
• 「shift + ;」, 其实就是输⼊「:」
• 退出vim及保存⽂件,在[正常模式]下,按⼀下「:」冒号键进⼊「Last line mode」,例如:
• : w (保存当前⽂件)
• : wq (输⼊「wq」,存盘并退出vim)
• : q! (输⼊q!,不存盘强制退出vim)

2-4 vim正常模式命令集
• 插⼊模式
• 按「i」切换进⼊插⼊模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊
⽂件;
• 按「a」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
• 按「o」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
• 从插⼊模式切换为命令模式
• 按「ESC」键。
• 移动光标
• vim可以直接⽤键盘上的光标来上下左右移动,但正规的vim是⽤⼩写英⽂字⺟「h」、「j」、
「k」、「l」,分别控制光标左、下、上、右移⼀格
• 按「G」:移动到⽂章的最后
• 按「 $ 」:移动到光标所在⾏的“⾏尾”
• 按「^」:移动到光标所在⾏的“⾏⾸”
• 按「w」:光标跳到下个字的开头
• 按「e」:光标跳到下个字的字尾
• 按「b」:光标回到上个字的开头
• 按「#l」:光标移到该⾏的第#个位置,如:5l,56l
• 按[gg]:进⼊到⽂本开始
• 按[shift+g]:进⼊⽂本末端
• 按「ctrl」+「b」:屏幕往“后”移动⼀⻚
• 按「ctrl」+「f」:屏幕往“前”移动⼀⻚
• 按「ctrl」+「u」:屏幕往“后”移动半⻚
• 按「ctrl」+「d」:屏幕往“前”移动半⻚
• 删除⽂字
• 「x」:每按⼀次,删除光标所在位置的⼀个字符
• 「#x」:例如,「6x」表⽰删除光标所在位置的“后⾯(包含⾃⼰在内)”6个字符
• 「X」:⼤写的X,每按⼀次,删除光标所在位置的“前⾯”⼀个字符
• 「#X」:例如,「20X」表⽰删除光标所在位置的“前⾯”20个字符
• 「dd」:删除光标所在⾏
• 「#dd」:从光标所在⾏开始删除#⾏
• 复制
• 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
• 「#yw」:复制#个字到缓冲区
• 「yy」:复制光标所在⾏到缓冲区。
• 「#yy」:例如,「6yy」表⽰拷⻉从光标所在的该⾏“往下数”6⾏⽂字。
• 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须
与“p”配合才能完成复制与粘贴功能。
• 替换
• 「r」:替换光标所在处的字符。
• 「R」:替换光标所到之处的字符,直到按下「ESC」键为⽌。
• 撤销上⼀次操作
• 「u」:如果您误执⾏⼀个命令,可以⻢上按下「u」,回到上⼀个操作。按多次“u”可以执⾏
多次回复。
• 「ctrl + r」: 撤销的恢复
• 更改
• 「cw」:更改光标所在处的字到字尾处
• 「c#w」:例如,「c3w」表⽰更改3个字
• 跳⾄指定的⾏
• 「ctrl」+「g」列出光标所在⾏的⾏号。
• 「#G」:例如,「15G」,表⽰移动光标⾄⽂章的第15⾏⾏⾸。

我们不需要掌握这么多,只需要掌握我下面的这些

1.移动光标

h j k l (对应左下上右)

gg : 移动到开头  G : 移动到结尾 n(n是数字,如1,9,13)G :移动到n行位置

gg:

G:

12G:

行内的移动:

^ : 移动到行头    $ : 移动到行尾

^移动到行头:

$移动到行尾:

单词之间的移动

w : 下一个单词    b : 上一个单词   都可以加n表示移多少单词

w 向后移动一个单词到Linux:

b 向前移动一个单词到Hello:

2.删除

单个删除 : x     即删除光标闪烁位置的单词    nx : 往后删除包括自己在内的n个单词

按一下x

5x:删除五个,光标应闪烁在n位置

X:删除光标闪烁位置前的一个字符   nX:删除不包括自己的前n个字符

按一个X:应该会删除i

         

按5X:会删掉前五个,光标前应该是e处

dd:删除光标这一行   ndd:删除包括光标在内的n行

按下dd:应该会删除6,光标来到7

不仅会来到7,而且光标自动来到行头

输入3dd:应该会删除789,光标来到(Linux10)10的行头

3.复制与粘贴

yy:复制光标这一行

nyy:复制包括光标在内的下面n行

p:粘贴(对了哦,其实删除本质上就是剪裁,你删除过的东西也可以通过p来粘贴)

np:粘贴n次

3yy:复制了三行(6,7,8),G将光标移动到最后,p粘贴

4.替换

r+[ch]:将光标处的字符替换为你输入的ch字符

R:进入置换模式,此时你在光标闪烁位置输入你想替换的字符,就可以完成替换,且光标会一直向后移动,直到你完成了替换,按esc键退出,恢复为命令模式

我要替换L为H,只需要按rH就行

我想要将inux替换为ello,只需要R(可以通过键盘上的上下左右箭头移动光标)

5.撤销上一次操作

u:撤回上一次的操作

ctrl + r : 撤回u的操作

是不是很奇怪,这两个是什么意思呢,举个例子,我删除了123,我按u就会撤销删除,此时123就回来了。但是我又不想撤销了,此时按u会撤销删除123前的操作,所以我们需要按ctrl+r来撤回u的操作,也就是撤销撤销删除

dd:删除7

u:撤销删除(dd)操作

ctrl+r:撤销u的操作

6.注释

//:最基本的注释方法

但是你要是想一次注释多行,就得使用ctrl+v进入V-BLOCK模式,然后选择你要注释的那些行,shift+i进入INSERT模式,之后//,esc。就可以了

i进入INSERT模式,//:注释,注释完退出

ctrl+v进入V-BLOCK模式,选择6行

shift + i进入INSERT模式,//注释,Esc键

要是想删除这些注释,只需要ctrl+v全选这些注释//,dd就行

dd:删除(虽然dd是行删,但是我全选了,相当于光标范围内都是行,dd一行,下面的都dd掉了)

7.查找

shify + 3也就是#,就可以看到光标位置所处的单词查找,按n可以进行逆向查找

查找main

查找cout

这就是命令模式主要的命令啦,现在我们来简绍底行模式

2-5 vim末⾏模式命令集
在使⽤末⾏模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进⼊末⾏
模式。
• 列出⾏号
• 「set nu」: 输⼊「set nu」后,会在⽂件中的每⼀⾏前⾯列出⾏号。
• 跳到⽂件中的某⼀⾏
• 「#」:「#」号表⽰⼀个数字,在冒号后输⼊⼀个数字,再按回⻋键就会跳到该⾏了,如输⼊数字
15,再回⻋,就会跳到⽂章的第15⾏。
• 查找字符
• 「/关键字」: 先按「/」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以
⼀直按「n」会往后寻找到您要的关键字为⽌。
• 「?关键字」:先按「?」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可
以⼀直按「n」会往前寻找到您要的关键字为⽌。
• 问题:∕ 和 ?查找有和区别?操作实验⼀下
• 保存⽂件
• 「w」: 在冒号输⼊字⺟「w」就可以将⽂件保存起来
• 离开vim
• 「q」:按「q」就是退出,如果⽆法离开vim,可以在「q」后跟⼀个「!」强制离开vim。
• 「wq」:⼀般建议离开时,搭配「w」⼀起使⽤,这样在退出的时候还可以保存⽂件。 

同样的,我们不需要掌握这么多,我们只需要知道部分就行

1.退出

w:保存     q:退出     !:强制

一般写完程序我们只需要wq保存退出

要是不想保存就需要q!

2.set nu 与 set nonu

set nu:显示行号

set nonu:取消行号

3。实用功能

1.!可以直接+指令(!command)

2.%s /dst/src/ (即%s /要替换的字符/要替换为的内容/)

enter替换

3./dst(中间不要空格),查找,与#类似,不过可以查找字符(串),n可以进行逆向查找

4.vs code... 可以创建一个窗口,进行多文件交互工作,其中使用ctrlww可以切换光标

编写程序,之后切换到命令模式ctrlww切换光标到code.cc文件中

退出发现创建了code.c文件

vim操作总结


• 三种模式
• 正常模式
• 插⼊模式
• 底⾏模式
• 我们⼀共有12种总模式,⼤家下来可以研究⼀下
• vim操作
• 打开,关闭,查看,查询,插⼊,删除,替换,撤销,复制等等操作

简单vim配置[了解]


配置⽂件的位置
• 在⽬录 /etc/ 下⾯,有个名为vimrc的⽂件,这是系统中公共的vim配置⽂件,对所有⽤⼾都有
效。
• ⽽在每个⽤⼾的主⽬录下,都可以⾃⼰建⽴私有的配置⽂件,命名为:“.vimrc”。例如,/root
⽬录下,通常已经存在⼀个.vimrc⽂件,如果不存在,则创建之。
• 切换⽤⼾成为⾃⼰执⾏ su ,进⼊⾃⼰的主⼯作⽬录,执⾏ cd ~
• 打开⾃⼰⽬录下的.vimrc⽂件,执⾏ vim .vimrc
常⽤配置选项,⽤来测试
• 设置语法⾼亮: syntax on
• 显⽰⾏号: set nu
• 设置缩进的空格数为4: set shiftwidth=4
使⽤插件
要配置好看的vim,原⽣的配置可能功能不全,可以选择安装插件来完善配置,保证⽤⼾是你要配置的⽤⼾,接下来:
• 安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到〜/.vim/doc, 将解
压出来的plugin下的内容拷⻉到〜/.vim/plugin
• 在〜/.vimrc 中添加: let Tlist_Show_One_File=1 let
Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
• 安装⽂件浏览器和窗⼝管理器插件: WinManager
• 下载winmanager.zip,2.X版本以上的
• 解压winmanager.zip,将解压出来的doc的内容放到〜/.vim/doc, 将解压出来的plugin下的内容
拷⻉到〜/.vim/plugin
• 在〜/.vimrc 中添加 let g:winManagerWindowLayout=‘FileExplorer|TagList
nmap wm :WMToggle<cr>
• 然后重启vim,打开~/XXX.c或〜/XXX.cpp, 在normal状态下输⼊"wm", 你将看到上图的效果。更具
体移步:点我, 其他⼿册,请执⾏ vimtutor 命令。
参考资料:
Vim从⼊⻔到⽜逼(vim from zero to hero)

最后觉得有收获的,可以点个小赞赞,评论一句吗,毕竟这个我写了好久咧

http://www.dtcms.com/a/606290.html

相关文章:

  • 小白教程:在 Windows 中启用 WSL 并安装 Linux 发行版
  • Linux RTC 驱动子系统详细实现方案
  • 主流服务器免费 SSL 证书部署手册 + 混合内容排查指南
  • Linux SNMP 团体号配置指定IP地址访问
  • 酒店移动网站建设方案wordpress添加导航栏
  • 大模型知识蒸馏实战:从Qwen-72B到Qwen-7B的压缩艺术
  • CMake Error at fc_base/gflags-src/CMakeLists.txt:73
  • 做一个网站需要多少人发布网站建设需求的经验
  • 网站开发多少工资做网站编辑好还是美工好
  • 上海网站建设公司四叶互联邗江区建设局网站
  • pytorch-张量转换
  • 推广型网站建设机构甘肃业聚质网络科技有限公司
  • 怎么让同一个局域网上的计算机看到我做的网站以公司名称为后缀的邮箱
  • Java接口与抽象类深度指南:从原理到实战
  • 人工智能备考——2.1.4题解
  • 做淘宝网站需要什么邵阳市城市建设网站
  • 告别闭门造车:用竞品ASO分析驱动应用下载转化
  • 【LeetCode】108. 将有序数组转换为二叉搜索树
  • 12.vector—string(下)
  • 具身智能数据采集全方案:动作捕捉技术驱动机器人拟人化进阶
  • 公司网站地图怎么做长沙网站托管优化
  • 网站免费创建雅虎搜索
  • 多通道手腕压力脉搏波信号
  • 眉县网站建设wordpress首页flash
  • 贪心算法实验2
  • C语言在线编译器开发 | 提高编译效率与用户体验的创新技术
  • MD5 校验脚本
  • 重生归来,我要成功 Python 高手--day35 深度学习 Pytorch
  • 马云有没有学过做网站百度收录时间
  • 企业网站的规划与建设ppt建设一个打鱼游戏网站