学习中心/工程实践/Linux/Linux 3:Vim,先能进出
· Linux · 3 · Vim
Linux 3:Vim,先能进出
三个模式。i 和 Esc。:wq。卡住了连按 Esc。下一节才改一段。

Vim 先解决一件事:进得去,出得来
服务器上 nano 能应急。日常改配置、改代码,Vim 是还在的那个编辑器。这一节只解决进出:模式、动光标、删一行、存盘、离开。卡住了先连按几下 Esc。
- 开vim 文件
- 改i … Esc
- 动hjkl / w b
- 走:wq
1. 打开
- 开没有这个文件就新建。有就打开
vim notes.txt - 开打开并跳到第 20 行
vim +20 /etc/hosts - 练自带教程,二十来分钟。有就先跑一遍
vimtutor
有的镜像只有 vi 或 vim.tiny,功能少。能装再:sudo apt install vim。vim --version 第一行若写 Tiny,先换包。
2. 三个模式
Normal:动光标、删、复制。打开后就在这。Insert:打字。Command:冒号后面下命令。左下角出现 -- INSERT -- 就是在 Insert。没有这几个字,就是 Normal。
- 进在光标前插入。a 是光标后,o 是下一行新开一行
i - 回回 Normal。迷路了连按两下
Esc - 令进命令行。Esc 也能从这里回来
:
I 行首插,A 行尾插,O 上一行新开。先记住 i 和 Esc,其余用到再加。
3. 动
- 键左下上右。方向键也能用,SSH 卡的时候 hjkl 更稳
h j k l - 键w 下一个词,b 上一个,e 词尾
w b e - 键0 行首,^ 第一个非空字符,$ 行尾
0 ^ $ - 键gg 文件头,G 文件尾。42G 到第 42 行
gg G
Ctrl+f / Ctrl+b 翻页。Ctrl+d / Ctrl+u 半页。先会 gg、G、w,翻长文件够用。
4. 删、复制、粘贴、撤
- 键删光标下这一个字符
x - 键删这一行。yy 复制这一行
dd - 键粘贴到光标后。P 是光标前
p - 键撤。Ctrl+r 是反撤
u
Vim 的剪贴板默认是它自己的,不是系统的。yy 再 p 在 Vim 里走。终端里用鼠标贴,先看第 4 节的 paste。
5. 存、退
- 令存。不退
:w - 令没改过就退。改过会拒绝,用 :wq 或 :q!
:q - 令存并退。ZZ 是同一件事,不用打冒号
:wq - 令丢改动,退。确定不要了才用
:q! - 令另存一份。系统文件先这样,再考虑覆盖
:w notes.bak
只读文件存不上:先 :w ~/notes.bak,不要跟权限死磕。sudo vim 能写系统文件,改之前仍要先 cp 一份。
6. 卡在里面时
- 左下角 -- INSERT --:Esc 回到 Normal,再 :wq 或 :q!。
- 左下角有个 ::这是命令行。Esc 取消,或把命令敲完回车。
- 屏幕在刷 ~ 而且打字没反应:你在 Normal。按 i 再打。
- 复制终端里的字贴进来错乱:先 :set paste,贴完 :set nopaste。
- 怎么都退不出:Esc,然后 :q!。文件还在磁盘上,没存的改动会丢。
7. 看一眼再改
- 令行号。改配置时好说「第几行」
:set number - 键当前文件名、行号、大概位置
Ctrl+g
这块过关:能打开、i 改一行、Esc、:wq 离开。不会因为退不出而杀终端。下一节才是改一段、不用鼠标。