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

linux-vim的使用

1.linux软件包yum

在使用vim之前需要先了解yum。

什么是软件包

Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 .
但是这样太麻烦了 , 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一个服务器上 , 通过包管理器可以很方便的获取到这个编译好的软件包 , 直接进行安装 .
软件包和软件包管理器 , 就好比 "App" " 应用商店 " 这样的关系 .
yum(Yellow dog Updater, Modified) Linux 下非常常用的一种包管理器 . 主要应用在 Fedora, RedHat, Centos等发行版上 .

注意事项

关于 yum 的所有操作必须保证主机 ( 虚拟机 ) 网络畅通 !!!
可以通过 ping 指令验证
ping www.baidu.com

 

软件包名称 : 主版本号 . 次版本号 . 源程序发行号 - 软件包的发行号 . 主机平台 .cpu 架构 .
"x86_64" 后缀表示 64 位系统的安装包 , "i686" 后缀表示 32 位系统安装包 . 选择包时要和系统匹配 .
"el7" 表示操作系统发行版的版本 . "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
最后一列 , base 表示的是 " 软件源 " 的名称 , 类似于 " 小米应用商店 ", " 华为应用商店 " 这样的概念 .

 如何安装软件

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装 .
sudo yum install lrzsz
yum 会自动找到都有哪些软件包需要下载 , 这时候敲 "y" 确认安装 .
出现 "complete" 字样 , 说明安装完成 .
注意事项:
安装软件时由于需要向系统目录中写入内容 , 一般需要 sudo 或者切到 root 账户下才能完成 .
yum 安装软件只能一个装完了再装另一个 . 正在 yum 安装一个软件的过程中 , 如果再尝试用 yum 安装另外一个软件, yum 会报错 .
如果 yum 报错 , 请自行百度 .
如何卸载软件
sudo yum remove lrzsz
直接使用这个指令就能卸载对应的软件

2.vim的使用 

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

(1).vim的基本概念

vim 的三种模式 ( 其实有好多模式,目前掌握这 3 种即可 ), 分别是命令模式( command mode )、插
入模式( 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

(2).vim的基本操作 

进入 vim, 在系统提示符号输入 vim 及文件名称后,就进入 vim 全屏幕编辑画面 :
$ vim test.c
不过有一点要特别注意,就是你进入 vim 之后,是处于 [ 正常模式 ] ,你要切换到 [ 插入模式 ] 才能够输入文字。
[ 正常模式 ] 切换至 [ 插入模式 ]
输入 a
输入 i
输入 o
[ 插入模式 ] 切换至 [ 正常模式 ]
目前处于 [ 插入模式 ] ,就只能一直输入文字,如果发现输错了字 , 想用光标键往回移动,将该字删除,可以先按一下「ESC 」键转到 [ 正常模式 ] 再删除文字。当然,也可以直接删除。
[ 正常模式 ] 切换至 [ 末行模式 ]
shift + ; , 其实就是输入「 :
退出 vim 及保存文件 , [ 正常模式 ] 下,按一下「 : 」冒号键进入「 Last line mode , 例如 :
: w (保存当前文件)
: wq ( 输入「 wq , 存盘并退出 vim)
: q! ( 输入 q!, 不存盘强制退出 vim)

 (3).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 行行首。

(4).vim末行模式命令集

在使用末行模式之前,请记住先按「 ESC 」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

 

列出行号
set nu : 输入「 set nu 」后,会在文件中的每一行前面列出行号。
跳到文件中的某一行
# : # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15 ,再回车,就会跳到文章的第15 行。
查找字符
/ 关键字」 : 先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n 」会往后寻找到您要的关键字为止。
? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n 」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下
保存文件
w : 在冒号输入字母「 w 」就可以将文件保存起来
离开 vim
q 」:按「 q 」就是退出,如果无法离开 vim ,可以在「 q 」后跟一个「 ! 」强制离开 vim
wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。

 (5).vim操作总结

三种模式
正常模式
插入模式
底行模式
vim 操作
打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

 

(6).简单vim配置 

在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为: “.vimrc” 。例如, /root 目录下,
通常已经存在一个 .vimrc 文件 , 如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录 , 执行 cd ~
打开自己目录下的 .vimrc 文件,执行 vim .vimrc
常用配置选项 , 用来测试
设置语法高亮 : syntax on
显示行号 : set nu
设置缩进的空格数为 4: set shiftwidth=4

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于区块链的安全和隐私
  • Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
  • java核心基础
  • Java流程控制语句——条件控制语句详解(附有流程图)#Java条件控制语句有哪些?#if-else、switch
  • 第十四届蓝桥杯嵌入式国赛
  • react开发环境搭建
  • 输入5个数,求中值,verilog实现
  • Splunk、Snort在入侵检测中的应用
  • Lodash库
  • 一.python入门
  • Go 综合题面试题
  • VMware Workstation 17.5安装教程
  • Java日期处理:将字符串yyyyMMdd转换为yyyy年MM月dd日
  • 云栖大会Day1:云应用开发平台 CAP 来了
  • 武汉正向科技 格雷母线检测方式 :车检,地检
  • 【笔记】你不知道的JS读书笔记——Promise
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • jQuery(一)
  • JS基础之数据类型、对象、原型、原型链、继承
  • JS字符串转数字方法总结
  • mongo索引构建
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Web设计流程优化:网页效果图设计新思路
  • 浮动相关
  • 普通函数和构造函数的区别
  • 删除表内多余的重复数据
  • 我这样减少了26.5M Java内存!
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 回归生活:清理微信公众号
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​flutter 代码混淆
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #Java第九次作业--输入输出流和文件操作
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .axf 转化 .bin文件 的方法
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .Net中间语言BeforeFieldInit
  • @ModelAttribute注解使用
  • [ NOI 2001 ] 食物链
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [.NET]桃源网络硬盘 v7.4
  • [100天算法】-实现 strStr()(day 52)
  • [14]内置对象
  • [AIGC] Java List接口详解
  • [C][数据结构][树]详细讲解
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [ffmpeg] x264 配置参数解析
  • [IE编程] 了解Urlmon.dll和Wininet.dll
  • [LeeCode]-Divide Two Integers 不用乘除的除法运算