导语:Linux文本编辑工具是竞赛必备技能,vi/vim是最常用的编辑器,掌握基本操作提高效率!
一、vi/vim简介
1.1 vi与vim
vi:Unix系统默认文本编辑器
vim:vi的增强版本,支持语法高亮、自动补全
1.2 启动方式
vim filename # 编辑文件vim# 启动vimvim-R filename # 只读模式
二、vim模式
2.1 三种模式
| 模式 | 说明 | 进入方式 |
|---|
| 命令模式 | 执行命令 | 默认进入 |
| 插入模式 | 输入文本 | i, I, a, A, o, O |
| 底行模式 | 执行命令 | : |
2.2 模式切换
命令模式 → 插入模式:i, I, a, A, o, O插入模式 → 命令模式:Esc命令模式 → 底行模式::底行模式 → 命令模式:Esc
三、命令模式操作
3.1 光标移动
| 命令 | 说明 |
|---|
| h | 左移 |
| j | 下移 |
| k | 上移 |
| l | 右移 |
| 0 | 行首 |
| $ | 行尾 |
| ^ | 行首(非空白) |
| G | 文件末尾 |
| nG | 第n行 |
| gg | 文件开头 |
3.2 删除操作
| 命令 | 说明 |
|---|
| x | 删除光标所在字符 |
| dd | 删除整行 |
| ndd | 删除n行 |
| d0 | 删除到行首 |
| d$ | 删除到行尾 |
| dw | 删除单词 |
3.3 复制粘贴
| 命令 | 说明 |
|---|
| yy | 复制整行 |
| nyy | 复制n行 |
| p | 粘贴到光标后 |
| P | 粘贴到光标前 |
3.4 撤销重做
3.5 查找替换
| 命令 | 说明 |
|---|
| /pattern | 向下查找 |
| ?pattern | 向上查找 |
| n | 下一个 |
| N | 上一个 |
| :%s/old/new/g | 全局替换 |
四、插入模式操作
4.1 进入插入模式
| 命令 | 说明 |
|---|
| i | 在光标前插入 |
| I | 在行首插入 |
| a | 在光标后插入 |
| A | 在行尾插入 |
| o | 在下方插入新行 |
| O | 在上方插入新行 |
4.2 常用快捷键
| 快捷键 | 说明 |
|---|
| Ctrl+d | 删除光标后字符 |
| Ctrl+h | 删除光标前字符 |
| Ctrl+c | 退出插入模式 |
五、底行模式操作
5.1 保存退出
| 命令 | 说明 |
|---|
| :w | 保存 |
| :q | 退出 |
| :wq | 保存并退出 |
| :q! | 强制退出 |
| :w filename | 另存为 |
5.2 行号操作
| 命令 | 说明 |
|---|
| :set nu | 显示行号 |
| :set nonu | 隐藏行号 |
| :n | 跳转到第n行 |
5.3 其他命令
| 命令 | 说明 |
|---|
| :!command | 执行shell命令 |
| :r filename | 读入文件 |
| :%s/old/new/g | 全局替换 |
六、vim配置
6.1 临时配置
:set nu # 显示行号:set tabstop=4# Tab宽度为4:set autoindent # 自动缩进:set syntax=cpp # C++语法高亮
6.2 永久配置
创建~/.vimrc文件:
touch ~/.vimrc
添加配置:
set nusettabstop=4set autoindentsetsyntax=cppsetmouse=a
七、其他编辑器
7.1 nano
简单易用的编辑器:
nano filename
快捷键:
Ctrl+O:保存
Ctrl+X:退出
Ctrl+W:查找
7.2 emacs
功能强大的编辑器:
emacs filename
快捷键:
Ctrl+X Ctrl+S:保存
Ctrl+X Ctrl+C:退出
八、历年真题
真题1(模式)
vim默认进入什么模式?
A. 插入模式B. 命令模式C. 底行模式D. 可视模式
答案与解析答案:B
解析:vim默认进入命令模式,按i进入插入模式,按:进入底行模式。
真题2(光标移动)
移动到文件末尾的命令是?
A. gg B. G C. 0 D. $
答案与解析答案:B
解析:G移动到文件末尾,gg移动到文件开头,0移动到行首,$移动到行尾。
真题3(删除)
删除整行的命令是?
A. xB. ddC. dwD. d0
答案与解析答案:B
解析:dd删除整行,x删除光标所在字符,dw删除单词,d0删除到行首。
真题4(保存)
保存并退出的命令是?
A. :wB. :qC. :wqD. :q!
答案与解析答案:C
解析::wq保存并退出,:w保存,:q退出,:q!强制退出。
真题5(查找)
向下查找的命令是?
A. /patternB. ?patternC. nD. N
答案与解析答案:A
解析:/pattern向下查找,?pattern向上查找,n下一个,N上一个。
九、记忆口诀
vim三种模式命令插入底行,默认进入命令模式;
h j k l光标移动,dd删除yy复制p粘贴;
i插入a追加o新行,Esc退出插入模式;:
w保存:q退出:wq保存退出,Linux文本编辑必备!
CSP初赛知识点系列:
1、竞赛与计算机发展历史
【CSP初赛系列1】CCF与NOI系列竞赛历史精讲
【CSP初赛系列2】CSP-J与CSP-S赛制详解
【CSP初赛系列3】GESP等级认证与大学生竞赛精讲
ICPC与CCPC竞赛精讲
【CSP初赛系列5】计算机发展历史精讲
【CSP初赛系列6】第一台电子计算机精讲
2、计算机系统基础
【CSP初赛系列7】计算机发展年代精讲
【CSP初赛系列8】冯诺依曼架构与硬件基础精讲
【CSP初赛系列9】计算机组成精讲
【CSP初赛系列9】输入输出设备精讲
【CSP初赛系列10】主频、IPC与CPU时间精讲
【CSP初赛系列11】CPU性能指标精讲
【CSP初赛系列12】MIPS与FLOPS性能指标精讲
【信奧初赛】位字节与字精讲
3、操作系统与Linux基础
【信奧初赛】内存管理精讲
【信奧初赛】文件系统精讲
【信奧初赛】g++编译选项精讲
【信奧初赛】GDB调试工具精讲
4、网络基础
【CSP初赛系列14】IP地址与网络基础精讲
【CSP初赛系列15】IP地址与DNS精讲
【CSP初赛系列16】IP地址分类精讲
【CSP初赛系列17】TCP协议与网络安全精讲
【CSP初赛系列18】TCP-IP协议栈精讲
IP地址分类精讲
TCP-IP协议栈精讲
HTTP与网页基础精讲
【CSP初赛系列19】HTTP与网页基础精讲
【CSP初赛系列20】DNS域名解析与HTTP协议精讲
信奥天天练 是一款专为信息学奥赛备考打造的微信小程序,汇集 CSP-J、CSP-S、GESP 三大赛事,支持随机练习、章节练习、真题考试、模拟考试,配合错题集、收藏夹与推荐书单,助你随时随地高效备考。学霸都在练 是一款专为中小学全学段打造的备考刷题小程序,覆盖小升初、中考、高考及学科竞赛,支持真题模考、章节练习、错题巩固、知识点速查,配套学习资料与刷题题库,助你随时随地高效提分。