ubuntu中,文本编辑器nano和vim区别,vim的用法

news2025/6/2 21:33:52

目录

  • 一.区别
    • 1.介绍
    • 2.适用场景
    • 3. 配置与个性化
      • 1) nano:
      • 2)Vim:
  • 二.Vim
    • 1、Vim 的安装与启动
    • 2、Vim 的三种模式 (普通模式、插入模式、命令行模式)
    • 3、Vim 的常用操作
    • 4、Vim 的配置
    • 5、Vim 的高级功能
  • 三.nano
    • 使用编辑基本流程(粗暴简单)
    • 1. 打开文件
    • 2. 界面布局
    • 3. 常用快捷键
    • 4. 配置 nano
    • 5. 示例操作流程
    • 6. 高级用法
    • 7. 常见问题

一.区别

在 Ubuntu 中,nano 和 Vim 是两款常用的文本编辑器,各有优缺点,适用于不同的使用场景和用户需求。

1.介绍

  • nano 底部明确显示快捷键,用户无需记忆即可操作。
  • Vim 的模式化设计(如普通模式、插入模式、命令行模式)需要用户适应,但掌握后效率极高。
  • 选择 nano:适合新手、快速编辑或资源受限环境。
  • 选择 Vim:适合开发者、需要高效编辑或复杂任务的用户。

两者并非对立,可根据实际需求切换使用。例如,在远程服务器上快速修改配置文件时用 nano,在本地开发时用 Vim。

  • nano 的轻量级设计使其在资源受限的环境 (如嵌入式系统或旧硬件) 中表现优异。
  • Vim 的性能优化较好,但在处理超大文件时,可能需要结合分屏或插件(如 LargeFile)提升效率。

2.适用场景

场景推荐工具原因
新手学习nano无需记忆快捷键,界面友好,适合快速上手。
快速编辑nano适合修改配置文件、编写简单脚本等轻量级任务。
系统管理nano无需安装额外依赖,适合在远程终端或紧急情况下快速编辑。
开发编程Vim支持代码补全、分屏、语法高亮等,适合长期开发。
大规模文本处理Vim支持宏录制、正则表达式替换等,适合批量处理文件。
插件扩展需求Vim支持插件生态(如 YouCompleteMe、NERDTree),可定制化开发环境。

3. 配置与个性化

1) nano:

配置文件:~/.nanorc。

支持简单配置(如行号、自动缩进、软换行等)。

示例配置:

plaintext
set linenumbers
set autoindent
set tabsize 4

2)Vim:

配置文件:~/.vimrc。

支持高度自定义(如快捷键映射、插件管理、主题等)。

示例配置:

vim
syntax on
set number
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab

二.Vim

在 Ubuntu 中,Vim 是一款功能强大且高效的文本编辑器,掌握其用法可以显著提升文本编辑效率。以下是 Vim 的详细用法指南:

1、Vim 的安装与启动

安装:大多数 Ubuntu 发行版已预装 Vim,若未安装,可通过以下命令安装:

sudo apt update
sudo apt install vim

启动:在终端输入 vim 文件名 即可打开或创建文件。

2、Vim 的三种模式 (普通模式、插入模式、命令行模式)

普通模式(Normal Mode):

默认模式,用于导航、复制、粘贴、删除等操作。

快捷键示例:

h、j、k、l:分别向左、下、上、右移动光标。
0:移动到行首。
$:移动到行尾。
gg:移动到文件开头。
G:移动到文件末尾。
dd:删除当前行。
yy:复制当前行。
p:粘贴到光标后。
u:撤销上一步操作。
Ctrl + r:重做上一步被撤销的操作。

插入模式(Insert Mode):

用于输入文本,按 i、a、o 等键进入
退出插入模式:按 Esc 键。

命令行模式(Command-Line Mode):
在普通模式下按 : 进入,用于执行保存、退出、查找替换等高级操作。
常用命令:

:w:保存文件。
:q:退出 Vim。
:wq:保存并退出。
:q!:强制退出不保存。
:set number:显示行号。
:syntax on:开启语法高亮。
:%s/旧内容/新内容/g:全局替换。

3、Vim 的常用操作

光标移动:

使用 h、j、k、l 进行字符级移动。
使用 w、b、e 进行单词级移动。
使用 gg、G 进行文件级移动。

编辑操作:

插入文本:按 i 进入插入模式。
删除文本:x 删除当前字符,dd 删除当前行。
复制粘贴:yy 复制当前行,p 粘贴。

查找与替换:

查找:按 / 进入查找模式,输入要查找的字符串后按 Enter,按 n 查找下一个匹配项,N 查找上一个匹配项。
替换:😒/旧字符串/新字符串/ 替换当前行的第一个匹配项,😒/旧字符串/新字符串/g 替换当前行的所有匹配项,:%s/旧字符串/新字符串/g 替换整个文件中的所有匹配项。

可视模式:

按 v 进入字符可视化模式,按 V 进入行可视化模式,按 Ctrl + v 进入块可视化模式。
在可视模式下,可以选择文本区域,然后对选定的文本执行命令。

多文件编辑:

打开多个文件:vim file1 file2 file3。
切换文件::bn 切换到下一个文件,:bp 切换到上一个文件。

4、Vim 的配置

自定义 Vim:可以通过编辑 ~/.vimrc 文件来自定义 Vim 的配置。
常用配置选项:

set number:显示行号。
set autoindent:开启自动缩进。
set tabstop=4:设置 Tab 宽度为 4 空格。
set shiftwidth=4:设置自动缩进宽度为 4 空格。
set expandtab:将 Tab 键转换为空格。
syntax on:开启语法高亮。

5、Vim 的高级功能

代码补全:
在插入模式下,按下 Ctrl + X Ctrl + O 可以查看函数、变量等补全选项。

宏录制与播放:
录制宏:按 q 后跟一个寄存器名(如 a),然后执行要录制的操作,最后按 q 结束录制。 播放宏:按 @ 后跟寄存器名(如 a)。

分屏编辑:
水平分屏::split 文件名 或 :sp 文件名。
垂直分屏::vsplit 文件名 或 :vs 文件名。
切换分屏:按Ctrl + w 后跟方向键(h、j、k、l)。

插件扩展:
Vim 支持通过插件扩展功能,常见的插件有 YouCompleteMe、NERDTree、Tagbar 等。 安装插件后,需要在 ~/.vimrc 文件中添加相应配置。

三.nano

在 Ubuntu 中,nano 是一个简单易用的文本编辑器,适合快速编辑文件编写脚本。以下是 nano 的详细用法和常见操作指南:

使用编辑基本流程(粗暴简单)

1. 打开文件(直接编写程序)
   nano hello.c     若文件不存在,nano 会自动创建新文件hello.c。
2. 保存文件
	Ctrl + O(Write Out):保存文件。
	保存文件后,修改文件名(可不改),按 Enter 确认文件名。
3. Ctrl + X(Exit):退出编辑器。
若文件已修改,会提示是否保存。

1. 打开文件

基本语法:

nano [文件名] 若文件不存在,nano 会自动创建新文件。

示例:

nano hello.txt  # 打开或创建 hello.txt

2. 界面布局

nano 的界面分为三部分:

顶部:显示文件名和修改状态(New File 或 Modified)。
中间:文本编辑区域。
底部:快捷键提示(如 ^O 表示 Ctrl+O)。

3. 常用快捷键

保存文件
Ctrl + O(Write Out):保存文件。
按 Enter 确认文件名。
Ctrl + X(Exit):退出编辑器。
若文件已修改,会提示是否保存。
编辑操作
Ctrl + K(Cut):剪切当前行。
Ctrl + U(Uncut):粘贴剪切的内容。
Ctrl + 6(Mark):标记文本区域(配合 Ctrl + K 剪切或 Ctrl + W 搜索)。
Alt + U(Undo):撤销操作。
Alt + E(Redo):重做操作。
搜索与替换
Ctrl + W(Where Is):搜索文本。
输入搜索内容后按 Enter。
按 Alt + W 搜索下一个匹配项。
Ctrl + \(Replace):替换文本。
输入要替换的内容和替换后的内容。
其他操作
Ctrl + C(Cursor Position):显示当前光标位置(行号和列号)。
Ctrl + T(Spell Check):检查拼写(需安装 aspell)。
F1:显示帮助文档(包含所有快捷键)。

4. 配置 nano

修改默认行为
编辑 ~/.nanorc 文件(若不存在则创建):

nano ~/.nanorc

添加以下配置:
plaintext
# 启用行号
set linenumbers
 
# 启用自动缩进
set autoindent
 
# 启用软换行(自动换行但不插入换行符)
set softwrap
 
# 禁用备份文件(默认生成 `文件名~` 的备份)
unset backup

常用配置选项

选项	说明
set linenumbers	显示行号
set autoindent	自动缩进
set tabsize 4	设置 Tab 宽度为 4 空格
set mouse	启用鼠标支持
unset smooth	禁用平滑滚动

5. 示例操作流程

创建并编辑文件

nano script.sh
输入以下内容:

#!/bin/bash
echo "Hello, Ubuntu!"
保存文件:
按 Ctrl + O,确认文件名后按 Enter。
退出编辑器:
按 Ctrl + X。
赋予执行权限并运行
chmod +x script.sh
./script.sh
输出:Hello, Ubuntu!

6. 高级用法

从命令行插入文件

nano -i file.txt  # 启用自动缩进
nano -T 4 file.txt  # 设置 Tab 宽度为 4

在管道中使用 nano

echo "Content" | nano -  # 通过管道编辑临时文件

备份文件控制
默认情况下,nano 会生成备份文件(如 file.txt~)。

禁用备份:


unset backup  # 在 ~/.nanorc 中添加

7. 常见问题

无法保存文件:
检查文件权限:ls -l 文件名。
使用 sudo nano 文件名 编辑系统文件。
快捷键冲突:
若终端模拟器占用 Ctrl 组合键,可尝试修改 ~/.nanorc 或使用其他编辑器(如 vim)。

总结 nano 是一个轻量级、易用的文本编辑器,适合快速编辑。 常用快捷键:Ctrl + O(保存)、Ctrl + X(退出)、Ctrl +
W(搜索)。 通过 ~/.nanorc 配置个性化行为(如行号、自动缩进)。 适合脚本编写、配置文件修改等简单任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2393957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

山洪灾害声光电监测预警解决方案

一、方案背景 我国是一个多山的国家,山丘区面积约占国土面积的三分之二。每年汛期,受暴雨等因素影响,极易引发山洪和泥石流。山洪、泥石流地质灾害具有突发性、流速快、流量大、物质容量大和破坏力强等特点,一旦发生,将…

【Rust模式与匹配】Rust模式与匹配深入探索与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

electron安装报错处理

electron安装报错 解决方法: 修改 C:\Users\用户名.npmrc下配置文件 添加代码 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/最后代码 registryhtt…

NHANES指标推荐:CQI

文章题目:The impact of carbohydrate quality index on menopausal symptoms and quality of life in postmenopausal women 中文标题:碳水化合物质量指数对绝经后妇女更年期症状和生活质量的影响 发表杂志:BMC Womens Health 影响因子&…

【从零开始学习QT】快捷键、帮助文档、Qt窗口坐标体系

目录 Qt Creator 中的快捷键 使用帮助文档 Qt 窗口坐标体系 QT专栏:QT_uyeonashi的博客-CSDN博客 Qt Creator 中的快捷键 • 注释:ctrl / • 运行:ctrl R • 编译:ctrl B • 字体缩放:ctrl 鼠标滑轮 • 查找&am…

基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)

由于一直在调试本项目,好久没有发文章,最近本项目的PID调试初见成效!开始正文前首先感谢各位粉丝的支持,以及对本项目技术上支持的老师以及师兄,谢谢你们! 对应源码及文件:源码及文件下载 基于…

实验分享|基于sCMOS相机科学成像技术的耐高温航空涂层材料损伤检测实验

1实验背景 航空发动机外壳的耐高温涂层材料在长期高温、高压工况下易产生微小损伤与裂纹,可能导致严重安全隐患。传统光学检测手段受限于分辨率与灵敏度,难以捕捉微米级缺陷,且检测效率低下。 某高校航空材料实验室,采用科学相机…

RAG混合检索:倒数秩融合RRF算法

文章目录 检索增强生成 (RAG)倒数秩融合在 RAG 中的工作原理RRF 背后的数学直觉检索增强生成 (RAG) RAG 是自然语言处理中的一种强大技术,结合了基于检索的模型和生成模型的优势。 如果检索器未能从检索器中获取相关文档,则精度较低,幻觉的可能性会增加。 有些查询适合…

2011肠衣问题

1 D类竞赛题目---具体题目 D题 天然肠衣搭配问题 天然肠衣(以下简称肠衣)制作加工是我国的一个传统产业,出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段(原料),进入组装工序。 传统的生产…

RG3000网关构建5G LAN智慧工厂智能制造

在工业4.0与智能制造的趋势下,传统制造业正前后往智慧工厂转型升级。在转型过程中,高效、稳定、灵活的网络通信是实现设备互联互通、数据实时交互与智能决策的基础。智联物联RG3000网关,凭借其融合5G通信技术、WiFi6无线传输、边缘计算能力与…

webrtc初了解

1. webrtc的简介 一、WebRTC 是什么? Web Real-Time Communication(网页实时通信),是浏览器原生支持的实时音视频通信技术,无需安装插件或客户端,可直接在浏览器之间实现点对点(P2P&#xff09…

[STM32学习笔记(九)]CubeMX项目使用系统定时器SysTick的中断服务函数进行定时

有很多文章说明了由于HAL_Delay()函数的本质是系统定时器计数,通过全局变量uwTick的不断增加实现的比较延迟。调用HAL_Delay()函数会阻塞其他工作,因此在外设ISR进程调用该延迟时,要特别小心。 因此,现在考虑,既然系统…

将ipynb文件转换为markdown格式文件

文章目录 将ipynb文件转换为markdown格式文件nbconvert 包安装nbconvert 使用 将ipynb文件转换为markdown格式文件 有时候,我们需要把Jupyter notebook的.ipynb格式文件转换为markdown格式.md,便于使用。 那么,我们可以通过安装nbconvert包&a…

Vulnhub_Zico2_wp

一、信息收集 1、主机发现 arp-scan -l 2、端口扫描 nmap -sS -sV 192.168.66.144 nmap -p- -Pn -sC -sV -n 192.168.66.144 whatweb -v 192.168.66.144 这里开放了3个端口,先80端口拿去目录,然后测试下22端口有没有什么未授权之类的,然后…

【玩转腾讯混元大模型】腾讯混元大模型AIGC系列产品深度体验

【玩转腾讯混元大模型】腾讯混元大模型AIGC系列产品深度体验 腾讯推出的系列AI产品:混元大模型、大模型图像创作引擎、大模型视频创作引擎、腾讯元宝,共同构成了一个强大的AI生态系统;凭借腾讯自研的大规模预训练技术和先进的自然语言处理、计…

Attention Is All You Need论文阅读笔记

Attention is All You Need是如今机器学习研究者必读的论文,该文章提出的Transformer架构是如今很多机器学习项目的基础,说该文章极大推动了机器学习领域的研究也不为过。 但这么重要,也是必读的文章对初学者来说其实并不友好,很多…

如何制作全景VR图?

全景VR图,特别是720度全景VR,为观众提供一种沉浸式体验。 全景VR图能够捕捉场景的全貌,还能将多个角度的图片或视频无缝拼接成一个完整的全景视角,让观众在虚拟环境中自由探索。随着虚拟现实(VR)技术的飞速…

Flask与PostgreSQL交互教程

目录 1. 项目结构2. 环境准备2.1 安装依赖2.2 使用Docker启动PostgreSQL 3. 数据库配置3.1 环境变量配置3.2 数据库连接配置 4. 定义数据库模型5. 实现API接口5.1 创建用户5.2 获取所有用户5.3 获取单个用户5.4 更新用户5.5 删除用户 6. 运行应用7. API测试7.1 创建用户7.2 获取…

XJTU-SY轴承振动数据集的json自封装

1.最终形式的形式 不用再去翻文档找对应的故障类型,采样率等信息了,所有的信息自包含在.json文件里,15个测试例,一个测试例对应一整个.json文件。 {"dataset": {"name": "XJTU-SY_Bearing_Datasets&quo…

Spring AI 系列2: Advisors增强器简介

一、Advisors简介 1.1 Advisors定义 Advisors 是在 AI 应用程序中处理请求和响应的拦截器。我们可以使用它们为提示流程设置额外的功能。例如,可以建立聊天历史、排除敏感词或为每个请求添加额外的上下文。 Spring AI的Advisor,本质上是一个拦截…