Linux文本编辑器vim的使用

简介: vi/vim,vi是一款很老的编辑器,它们都是多模式文本编辑器,没有代码的编译功能,也没有调试功能。vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

首先简单介绍一下yum

1. Linux 软件包管理器 yum

在日常使用Linux的过程中,如果我们需要更多额外的指令和工具使用,这时候我们就需要软件包管理器yum了。不同发行版的yum是不一样的,就好比苹果和小米一样,苹果是App Store,而小米是小米应用商店。

1.1 什么是软件包

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

1.2 如何安装软件

输入以下命令来安装软件包:

sudo yum install package_name

重要选项

  • -y:自动回答yes,在安装过程中自动确认所有提示。
  • -q:安静模式,不显示安装过程中的输出。
  • -e:错误回显,显示错误信息而不是退出。
  • -d:只下载包,不安装。
  • -i:安装包,即使已经安装了相同版本的包。
  • -u:更新包,即使已经安装了相同版本的包。
  • -R:删除包及其依赖项。
  • -a:列出已安装的包。
  • -b:列出包的信息。
  • -c:列出包的配置文件。
  • -l:列出包的文件列表。
  • -g:列出包的组信息。
  • -s:搜索包。
  • -C:指定配置文件路径。
  • -h:帮助信息。

注意:当你使用yum install package_name命令安装一个软件包时,yum会显示一些提示,例如是否要安装依赖包、是否要替换已安装的包等。如果你不回答这些提示,安装过程将会暂停,直到你手动输入yes或no。
使用-y选项可以避免这种情况,因为yum会自动回答yes,从而加快安装过程。但是,请注意,使用-y选项可能会安装一些你不需要的依赖包,或者替换已安装的包,因此在使用-y选项时要谨慎。

2. Linux编辑器——vim

vi/vim,vi是一款很老的编辑器,它们都是多模式文本编辑器,没有代码的编译功能,也没有调试功能。
vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

2.1 vim的基本概念

首先我们了解vim的三种模式(其实有好多模式),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令/正常/普通模式(Normal mode)

    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  2. 插入模式(Insert mode)

    只有在Insert mode下,才可以做文字输入,按ESC键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  3. 底行模式(last line mode)

    文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。
    要查看你的所有模式:打开vim,底行模式直接输入 :help vim-modes

这里我所使用的vim一共有12种模式:six BASIC modes和six ADDITIONAL modes。
41ccc38309ee0b0c74406716901d27cd
d4b69e055d6747c271a42d1dc725a14d

  1. 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

    • $ vim test.c
    • 不过有一点要特别注意,就是你进入vim之后,是处于==命令模式==,你要切换到==插入模式==才能够输入文字。
  2. 命令模式切换至插入模式

    • a(直接进入插入模式光标不移动)
    • i(向前移动一个字符进入插入模式)
    • o(向前新起一行进入插入模式)
  3. 插入模式切换至命令模式

    shift + ;,其实就是输入:

  4. 退出vim及保存文件,在命令模式下,按一下shift + ;冒号键进入Last line mode,例如:

    • :w(保存当前文件)
    • :wq (输入wq,存盘并退出vim)
    • :q!(输入q!,不存盘强制退出vim)

2.3 命令模式命令集

  1. 插入模式

    • i切换进入插入模式insert mode,按i进入插入模式后是从光标当前位置开始输入文件;
    • a进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    • o进入插入模式后,是插入新的一行,从行首开始输入文字。
  2. 从插入模式切换为命令模式

    ESC键。

  3. 移动光标

    • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母hjkl,分别控制光标左、下、上、右移一格。因为在最早期的键盘中是没有方向键的。

      助记:a36e83f50902fb7e943e6d48ac189943

    • gg:进入到文本开始。

    • (n + )shift+g / G:定位到代码的(任意一行)最后一行。(个人建议:直接按键盘的CapsLock键切换大写然后n+G比较方便,不然按三个键真的很麻烦)

    • shift+4 / $:定位到光标所在行的“行尾”。

    • shift+6 / ^:定位到光标所在行的“行首”。

    • 以单词为单位:

      • w:光标跳到下个字的开头。
      • e:光标跳到下个字的字尾。
      • b:光标回到上个字的开头。
    • #l:光标移到该行的第#个位置,如:5l,56l。

    • Ctrl+b:屏幕往“后”移动一页。

    • Ctrl+f:屏幕往“前”移动一页。

    • Ctrl+u:屏幕往“后”移动半页。

    • Ctrl+d:屏幕往“前”移动半页。

  4. 复制

    • yw:复制光标所在之处到字尾的字符。
    • #yw:复制#个字。
    • yy~:复制光标所在行。
    • #yy:表示拷贝从光标所在的该行往下数#行文字。例如,6yy表示拷贝从光标所在的该行往下数6行文字。
    • p:将复制的字符粘贴到当前行之后。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
    • #p:将复制的字符粘贴#次到当前行之后。例如,3p表示将缓冲区内的字符粘贴3次到当前行之后。
  5. 删除

  • x:每按一次,删除光标所在位置的一个字符。
  • #x:例如,6x表示删除光标所在位置的“后面(包含自己在内)”6个字符。
  • shift + x / X:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
  • #X:例如,20X表示删除光标所在位置的“前面”20个字符。
  • 剪切(只用剪切不用粘贴即为删除):
    • dd:剪切光标所在行。
    • #dd:从光标所在行开始剪切#行。
  1. 替换

    • r:替换光标所在处的字符。
    • R:替换光标所到之处的字符,直到按下ESC键为止。
    • shift + `` ~`:文本大小写互相转换。
  2. 撤销上一次操作

    • u:如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次“u”可以执行多次回复。
    • ctrl + r:撤销的恢复。
  3. 更改

    • cw:更改光标所在处的字到字尾处。
    • c#w:例如,c3w表示更改3个字。
  4. 跳到指定行

    • ctrl+g列出光标所在行的行号。
    • #G:例如,15G,表示移动光标至文章的第15行行首。

2.4 底行模式

2.4.1 底行模式命令集

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

  1. 列出行号

    • set nu:会在文件中的每一行前面列出行号。
    • set nonu:取消每一行前面列出的行号。
  2. 跳到文件中的某一行

    #:#号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
    再回车,就会跳到文章的第15行。

  3. 查找字符

    • /关键字: 先按/键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止。
    • ?关键字:先按?键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n会往前寻找到您要的关键字为止。
    • shift + 3 / #:查找同名单词,按n同单词跳转。
  4. 不退出vim的情况下使用Linux中的命令

    !cmd:先按!,再输入Linux下的命令,直接在不退出vim的情况下进行查看,编译,运行等动作。

  5. 保存文件

    w: 在冒号输入字母w就可以将文件保存起来

  6. 离开vim

    • q:按q就是退出,如果无法离开vim,可以在q后跟一个!强制离开vim。
    • wq:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。

2.4.2 多文件编辑

介绍多文件编辑的方法之前首先介绍点一些小知识:

  • 当输入vim flie,这个文件不存在时,vim自己会创建一个这个文件名的文件,然后在vim里什么也没做,保存并退出,此时这个文件就出现在系统里了。换言之,vim本身自己也可以创建文件。
  • 小技巧:vim flie + n可以将光标快速定位到第n行。

裸的也就是没有配置过的vim也支持多文件编译。
方法:

在底行模式下输入vs file(如果file不存在,则会直接创建,如果没有写入任何东西直接退出,这个file将不会在系统中保存)

两个文件进行界面切换的方法:

Ctrl + ww

如何知道自己在哪个文件中呢?

看光标!无论你打开多少个文件,光标只有一个,光标在哪个区域,就表示当前正在编辑哪一个文件底行模式也就属于那个文件,一切以光标为主!!

2.5 替换模式

在命令模式下:shift + r (R)进入替换模式,替换模式下可以直接对文字进行替换。
41dfa2e1b3ca19390e40f37394ebf852

esc即可退出替换模式。

2.6 视图模式

2.6.1 批量化注释

  1. 在命令模式下:Ctrl + v进入视图模式
  2. 使用j/k两个按键上下选中区域
  3. shift + i / (I) ,此时已经进入到插入模式
  4. 输入 ==//==
  5. esc

2.6.2 批量化删除注释

  1. 在命令模式下:Ctrl + v进入视图模式
  2. h/j/k/l选中区域
  3. d即可

(在视图模式下不仅可以批量化注释,也可以批量化添加其他自己想要添加的东西,操作与批量化注释相仿!)

目录
相关文章
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
143 1
Linux系统之部署轻量级Markdown文本编辑器
|
4月前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
2月前
|
存储 运维 搜索推荐
|
2月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
32 5
|
2月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
64 1
|
2月前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
33 0
|
3月前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
3月前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
91 8
|
4月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
5月前
|
JSON Java Linux
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
79 5