深入掌握Linux的vi工具 (linux的vi工具)

Linux的vi工具是一款高效的文本编辑器,也是Linux操作系统中最重要的工具之一。对于Linux用户来说,了解和掌握vi的使用技巧是必须的。本文将介绍如何。

1.了解vi的基本使用方法

在学习任何软件之前,更先需要掌握的是该软件的基本使用方法。vi的基本使用方法包括以下内容:

1.1进入编辑模式

vi的编辑模式是默认模式。当我们进入vi编辑器时,首先进入的就是编辑模式。在编辑模式下,我们可以进行文本编辑、复制、黏贴等操作。

1.2命令行模式

除了编辑模式,vi还有另一种常用的模式——命令行模式。在命令行模式下,通过输入命令实现文本编辑器的一系列其他操作,如保存、查找、删除、替换等。

1.3插入模式

插入模式是vi的编辑模式的一个变体。它可以让我们直接在文本中进行输入。在编辑模式下按下i、a、o任意一个键就可以进入插入模式。

2.掌握vi的快捷键

vi的快捷键是vi使用过程中要掌握的重要技巧之一。它可以帮助用户在使用vi进行文本编辑时更高效地完成工作。以下是vi的常用快捷键:

2.1在编辑模式下:

i — 在光标所在位置插入文本

a — 在光标所在位置后面插入文本

o — 在当前行的下一行插入新的一行并进入插入模式

ZZ — 保存文件并退出vi(注意大小写)

2.2在命令行模式下:

:w — 保存当前编辑的文本

:q — 退出vi(若未保存文本则不允许退出)

:q! — 强制退出,不保存文本

:wq — 保存并退出文本

/string — 在文本中查找指定字符串

:%s/old/new/g — 全文替换(old->new)

3.掌握vi的编辑技巧

vi的编辑技巧也是使用vi进行文本编辑时需要掌握的重要技巧之一。以下是vi的常用编辑技巧:

3.1定位光标

在vi编辑器中,使用光标键可以移动光标。这些光标键包括:

h — 向左移动光标

j — 向下移动光标

k — 向上移动光标

l — 向右移动光标

3.2删除文本

vi编辑器中有多种方式可以删除文本,包括:

x — 删除光标所在的字符

dd — 删除光标所在的行

3.3复制、黏贴文本

vi编辑器中也有多种方式可以复制、黏贴文本,包括:

yy — 复制光标所在的行

p — 将已复制的文本黏贴在当前光标所在的位置后

4.其他vi技巧

除了上述vi的基本使用方法、快捷键和编辑技巧,使用vi还有其他一些技巧,如:

4.1使用vi打开已存在的文件

在终端中使用vi命令打开已存在的文件,如:

vi file.txt

4.2分屏浏览文件

使用分屏功能可以同时在两个窗口中浏览同一个文本文件。可以使用以下命令在当前窗口的下方创建一个新窗口:

:sp

可以使用以下命令在当前窗口的右侧创建一个新窗口:

:vsp

4.3使用外部命令

vi编辑器还可以使用一些外部命令来实现一些不同的操作。如:

!ls — 浏览文件目录

!wc -l — 统计文件行数

掌握vi的使用技巧对于Linux用户来说是必须的。通过掌握vi的基本使用方法、快捷键和编辑技巧,以及其他一些技巧,可以帮助Linux用户更高效地完成工作,并且提高工作效率。希望本文对大家有所帮助。

相关问题拓展阅读:

在 linux 系统中,“vi”命令的使用方法是什么?

vi的基本概念

  基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode),

  各模式的功能区分如下:

  1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。

  2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。

  3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。

  不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。

  vi的基本操作

  ?进入vi

  在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:

  $ vi testfile

  有一点要特别注意,就是您进入vi之尘弊皮后是处于“Command mode”下,您要切换到Insert mode才能输入文字。

  初次用vi的用户都会想先派差用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,

  转换入Insert后再说。?切换至Insert mode编辑文件在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。

  这时候您就可以开始输入文字了。

  i: 插入,从目前光标所在之处插入所输入的文字。

  a: 增加,目前光标所在的下一个字开始输入文字。

  o: 插入新的一行,从行首开始输入文字。

  ?Insert的切换→Command mode,按Esc键

  您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,

  就要按ESC键转换回Command mode,再删除文字。

  ?离开vi及存文件

  在Command mode下,可按冒号“:”键入入Last line mode,例如:

  :w filename (输入“w filename”,将文章存入指定的文件名filename)

  :wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)

  :q! (输入“q!”,强制离开并放弃编辑的文件)

  Command mode功能键列表

  在介绍command mode指令的时后,指令后面加上“常用”字眼的功卜正能键,表示比较常用的vi指令,

  请读者您一定要学会、记住。

  (1)I、a、o切换进入Insert mode。

  (2)移动光标

  vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母

  h、j、k、l,分别控制光标左、下、上、右移一格。

  按Ctrl+B:屏幕往后移动一页。

  按Ctrl+F:屏幕往前移动一页。

  按Ctrl+U:屏幕往后移动半页。

  按Ctrl+D:屏幕往前移动半页。

  按 0 (数字零):移动文章的开头。

  按 G:移动到文章的最后。

  按 w:光标跳到下个word的开头。

  按 e:光标跳到下个word的字尾。

  按 b:光标回到上个word的开头。

  按 $:移到光标所在行的行尾。

  按 ^:移到该行之一个非空白的字符。

  按 0:移到该行的开头位置。

  按 #:移到该行的第#个位置,例:51、121。

  (3)删除文字

  x:每按一次删除光标所在位置的后面一个字符。

  #x:例如,6x 表删除光标所在位置的后面6个字符。

  X:大字的X,每按一次删除光标所在位置的前面一个字符。

  #X:例如,20X 表删除光标所在位置的前面20个字符。

  dd:删除光标所在行。

  #dd:例如,6dd表删除从光标所在的该行往下数6行之文字。

  (4)复制

  yw:将光标所在处到字尾的字符复制到缓冲区中。

  (想在和#x、#X的功能相反)

  p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。

  yy:复制光标所在行。

  p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)

  #yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。

  p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)

  “ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer

  “ap:将放在buffer a的数据粘贴。

  “b3yy:将三行数据存入buffer b。

  “b3p:将存在buffer b的资料粘贴

  (5)取代

  r: 取代光标所在处的字符:

  R:取代字符直到按Esc为止。

  (6)复原(undo)上一个指令

  u:假如您误操作一个指令,可以马上按u,回复到上一个操作。

  .: .可以重复执行上一次的指令。

  (7)更改

  cw:更改光标所在处的字到字尾$处。

  c#w:例如,c3w代表更改3个字。

  (8)跳至指定行

  Ctrl+G:列出光标所在行的行号。

  #G:例如,15G,表示移动光标至文章的第15行行首。

  Last line mode下指令简介

  读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”

  三键的其中一键进入Last line mode。

  1.列出行号

  set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

  2.跳到文章的某一行

  #:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,

  如:15就会跳到文章的第15行。

  3.寻找字符串

  /关键字:先按/,再输入您想寻找的字,如果之一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。

  ?关键字:先按?,再输入您想寻找的字,如果之一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。

  4.取代字符串

  1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,

  其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。

  %s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,

  c则是表示要替代之前必须再次确认是否取代。

  1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。

  5.存文件

  w:在last line mode提示符号“:”前按w即可将文件存起来。

  #,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,

  将您正在编辑文章的第30~50行存成nice这个文件。

  6.离开

  q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”

  qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件

一般模式常用操作

【h(或向左方向键)】 光标左移一个字符

【j(或向下方向键)】 光标下移一个字符

【k(或向上方向键)】 光标上移一个字符

【l(或向右方向键)】 光标右移一个字符

【 + f】 屏幕向下移动一页(相当于Page Down键)

【 + b】 屏幕向上移动一页(相当于Page Up键)

【或】 光标移动到当前行的最前面

【或】 光标移动到当前行的末尾

【G】 光标移动到文件的最后一行(之一个字符处)

【nG】 n为数字(下同),移动到当前文件中第n行

【gg】 移动到文件的之一行,相当于”1G”

【n】 光标向下移动n行

【延展阅读】

(一)vi/vim是什么?

Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方毁裤坦便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。

(二)为什么要学习vi/vim?

首先所有的Linux发行版系统上都会默认内置vi编辑器,而不一定带有其他文本编辑器,非常通用;其次,很多软件的纤桐编辑接口都会默认调用vi;第三,vi具有程序编辑的能力;最后,vi程序简单,编辑速度相当快速。

(三)vim配置文件

vim的配置文件为/etc/vimrc,但一般不建议直接修改这个文件,而是在用户根目录下创建一个新的隐藏文件:

vim ~/.vimrc

然后编辑这个文件,常用的配置如下:

bash

“双引号后面的内容为注释

set nu “显示行号

set hlsearch “查找的字符串反白显示

set backspace=2 “可随时用退格键进行删除

set autoindent “自动缩排

set ruler “在最下方一行显示状态

set showmode “在左下角显示纯燃模式

set bg=dark “显示不同的底色,还可以为light

syntax on “语法检验,颜色显示

参考资料

$Linux vi/vim编辑器常用命令与用法总结

.键盘上的手艺人

linux系统的文本编辑工具哪一款比较好用?

Vim文本编辑销裤器是Linux上前皮更好的文本编辑器的领先产品。VIM由Bram Moolenaar开发,是Linux世界上最常用的文本编辑器之一。但入门门槛较高。

与VIM一样,PNEdit 既作为GUI应用程序又作为命令行实用程序提供。 它不适用于仅使用文本编辑器来编辑配置文件并执行其他小任务的人。PNEdit 最适合想要美丽的用户界面以及强大的扩展功能(例如内置Git集成)的程序员慧斗差!”

之一:Vim Editor

Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为Vi编辑器中更好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为Linux world文本编辑分类的优胜者,Vim稳居第二。但在2023年Vim赢得了Slashdot Beanie的更佳开放源代码文本编辑器大奖,又袭樱将Emacs推至第二,不过Vim和Emacs同样都是非常优秀的文本编辑器。

第闭庆二:Emacs

Emacs即Editor MACroS,中文名宏编辑器,是一种文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。Emacs是一种强大的文本编辑器,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。

第三:Notepad++

Notepad++是一款非常有特色的编辑器,开源软件,可免费使用。内置支持多达27种语法高亮度显示,还支持自定义语言。

Notepad++是Windows操作系统下的一套非常有特色的自由软件的纯文本编辑器,有完整的中文化接口及支持多国语言编写的功能。它的功能比Windows中的Notepad强大,除了可以用来制作一般的纯文字说明文件,也十分适合当做编写电脑程序的编辑器。Notepad++不仅有语法高亮度显示,还有语法折叠功能,并轿禅握且支持宏以及扩充基本功能的外挂模组。

第四:PNEdit

PNEdit是一个类似于Vi的功能多样、用户可定制的文本编辑器,在vi的基础上改进和增加了很多特性。图形界面设计简洁方便让编辑窗口设置更加容易,快捷键和命令行操作方式使得文本编辑的速度和效率有所提高,内嵌的多个应用插件扩展了文本编辑功能。

第五:TextMate

TextMate是Mac平台下著名的编辑器,适合程序员使用,与BBedit一起并称苹果机上的emacs和vim,可以定制许多贴心的使用功能。TextMate的Bundles是TextMate的一个亮点,可以有效的提高开发效率。包括DHH在内的Rails核心开发者一直都使用TextMate进行开发,原因就是他们主要都在使用Mac OS系统,并且TextMate具备出色的界面、强大的宏定义,以及可下载和编辑的宏定义包,这些都帮助开发者将编码的效率提升到更高。

linux的vi工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux的vi工具,深入掌握Linux的vi工具,在 linux 系统中,“vi”命令的使用方法是什么?,linux系统的文本编辑工具哪一款比较好用?的信息别忘了在本站进行查找喔。


数据运维技术 » 深入掌握Linux的vi工具 (linux的vi工具)