Linux基础——nano、Vi和Vim

nano、Vi和Vim是什么?

  • nano是一个字符终端的文本编辑器
  • vi 是大多数linux系统自带的文字编辑器
  • 而 vim 则是 vi 进阶版,可用不同颜色显示文字内容,也可进行各种程序的编写

nano

输入nano 1.txt,可看到

  • 最顶部是nano版本、文件夹名字、正在修改
  • 中间游标是输入部分
  • 底部表示是新文件,^G表示是Ctrl+G获取帮助

在这里插入图片描述
编译过后按下Ctrl+X退出会提示是否保存文件
在这里插入图片描述
N则直接退出,Y则进一步选择文件类型(M代表Alt键),若直接保存则按下enter键
在这里插入图片描述

vi的使用

一般命令模式

用 vi 命令打开文件即进入一般命令模式

移动光标

按键功能(移动光标)
hjkl⬅⬇⬆➡ (30⬇表示向下移动30行)
Crtl + f / bPage Down / Page Up (向下/上翻一页)
Crtl + d / u向下/上翻半页
+ -⬇⬆
space向右移动一列(30space表示向右移动30列)
0 / $Home / End(移动到列头/尾
H / M / L移动到当前屏幕 第一行/中间一行/最后一行 的第一列
G / gg移动到 最后一行/第一行 的第一列(20G表示移动到第20行)
enter⬇ (20enter表示向下移动20行)

搜索

按键功能(搜索)
/word向下搜索word
?word向上搜索word
n执行前一个搜索动作,若是 / 则向下,? 则向上
N反向执行前一个搜索动作,若是 / 则向上,? 则向下

替换

按键功能(替换)
:row1,row2s/word1/word2/g将row1-row2行的字符串word1替换成word2
:1,$s/word1/word2/g从第一行到最后一行的字符串word1替换成word2
:1,$s/word1/word2/gc同上,替换前提示

删除

按键功能(删除)
x / Xdel / backspace (删除后面/前面字符,10x表示向后删除10个)
dd删除光标所在行(20dd表示向下删除20行)
d1G / dG删除光标所在行及往上/往下的行
d$ / d0删除光标所在列及后面/前面的列

复制黏贴

按键功能(复制与黏贴)
yy复制当前行(20yy表示复制20行)
y1G / yG复制当前行及往上/往下的行
d1G / dG复制光标所在行及往上/往下的行
y$ / y0复制光标所列及后面/前面的列
p / P将复制的内容黏贴到下/上一行

其他

按键功能(其他)
J合并光标所在行及下一行
u / Ctrl+r撤销/重做
.重复前一个指令

编辑模式

在一般指令模式中通过如下按键进入编辑模式,编辑完后通过esc退出

按键功能(编辑)
i / Ii从当前光标处插入,I从当前行的第一个非空白字符处插入
a / Aa从当前光标的下一个字符插入,A从最后一个字符插入
o / O往下/上增加一行并插入
r / Rr下一次输入替代当前光标所在字符(只生效一次),R则是连续替代

指令列命令模式

在一般命令模式中通过如下按键,可让游标到最底下进行存储文件等操作

按键功能(存储与离开)
:w / :w!保存/强制保存修改
:q / :q!退出/强制退出
:wq / :wq!保存/强制保存后退出
:w filename另存为filename
:r filename将filename的内容追加到当前文件
:row1,row2 w filename将row1-row2的内容另存到filename
:!command暂时离开vi执行commond命令(:!ls表示查看当前文件)
:set nu / :set nonu显示/取消行号

文件恢复

当在编辑文件时,会生成.filename.swp临时文件记录操作,正常编辑完后该文件会消失,若出现意外中断,则该文件可用于恢复丢失的操作,如下在vi 2.txt时关掉终端,生成swp临时文件
在这里插入图片描述
再次编辑2.txt,会提示(1)当前可能多个用户在操作(2)上次编辑意外中断
在这里插入图片描述

  • Open Read-Only:只读打开,用户只看不改则不会出现问题
  • Edit anyway:无论无何都要编辑,可能会发生并发修改
  • Recover:利用swp文件修复,修复完后需手动删除swp文件(不删除仍会进入这个页面)
  • Delete it:不修复,直接删除swp文件
  • Quit:退出
  • Abort:终止

vim额外功能

区块选择

相当于windows中的选中

按键功能(区块选择)
v / V每次选择一字符 / 行
Ctrl + v自定义选择
y复制选中的内容
d删除选中的内容
p黏贴选中的内容
如下Ctrl + v 选中每行的1-5列
在这里插入图片描述
通过y和p将hello复制到末尾
在这里插入图片描述

多文件编辑

按键功能(多文件编辑)
:n / N编辑下/上一个文件
:files列出当前开启的文件
如下通过 vi 1.txt 2.txt 开启两个文件,即可实现跨文件操作
在这里插入图片描述

多窗口编辑

按键功能(多窗口编辑)
:sp filename若有filename则打开另一个文件,否则分割当前文件
Ctrl+w+j / [ctrl]+w+⬇光标移动到下面窗口
Ctrl+w+k / [ctrl]+w+⬆光标移动到上面窗口
Ctrl+w+q退出当前窗口,也可使用:q
如下,上面为2.txt,下面为1.txt
在这里插入图片描述

文字补全

按键功能(文字补全)
ctrl+x ctrl+n以当前文件内容为关键字,提示补全
ctrl+x ctrl+f以当前文件名为关键字,提示补全
ctrl+x ctrl+o以当前文件副文件名为关键字,提示补全

如下 vi test.html,输入h,按下ctrl+x和ctrl+o,会根据副文件名html给出提示补全
在这里插入图片描述

环境配置

用户的每次操作都会记录到 ~/.viminfo 文件中,以便下次操作,而vim的配置如下

按键功能(环境配置)
:set nu / nonu设置/取消行号
:set hlsearch / nohlsearch设置/取消搜索高亮
:set autoindent / noautoindent设置/取消自动缩进
:set backup自动备份文件,当修改文件时,原文件会另存为filename~的文件
:set ruler显示右下角阅读进度
:set showmode显示左下角文件状态
:set backspace=(012)为2时backspace可删除任意值,为0或1时只能删除刚刚输入的字符
:set all显示当前环境配置
:set显示变更过的配置
:syntax on / off打开/关闭语法提示
:set bg=dark / light设置深/浅色调

为避免每次都要设置参数,可在vim配置文件中指定配置,其在/etc/vimrc,不过它是总配置文件,建议用户可在 ~/.vimrc 下面创建自定义配置文件
在这里插入图片描述
如上,在 ~/.vimrc 添加 set nu,以后每次打开vim都会显示行号

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ViVi IMproved)和VimVi IMproved)都是在Linux系统中常用的文本编辑器。Vi是最早的Unix文本编辑器之一,VimVi的增强版本。 Vi是一个基于命令行的文本编辑器,它提供了一系列的命令和快捷键来进行文本编辑。它具有简单的界面和高效的编辑功能,但可能对于新手来说有一定的学习曲线。 Vim是对Vi的改进和扩展,它保留了Vi的所有功能,并添加了许多新功能和改进。Vim提供了更丰富的功能和更友好的用户界面,可以通过配置文件进行自定义设置,并支持各种插件和脚本扩展。 在Linux系统中,你可以使用以下命令来打开ViVim编辑器: ``` vi filename # 打开Vi编辑器并编辑指定的文件 vim filename # 打开Vim编辑器并编辑指定的文件 ``` 一旦进入ViVim编辑器,你可以使用各种命令和快捷键进行文本编辑。例如: - i:进入插入模式,可以开始输入文本 - ESC:退出插入模式,回到命令模式 - :w:保存文件 - :q:退出编辑器 - :wq:保存并退出编辑器 此外,Vim还提供了许多其他功能,如语法高亮、多窗口编辑、宏录制、搜索替换等。你可以通过查阅相关的文档或教程来深入了解ViVim的使用方法和功能。 总结来说,ViVim都是在Linux系统中常用的文本编辑器,Vim是对Vi的增强版本,提供了更多功能和改进。它们都提供了强大的文本编辑功能,但对于新手来说可能需要一些时间来熟悉和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值