Vim编辑器入门:服务器上改文件必备
登录服务器改配置文件,nano太简单不够用,vi/vim又不会退出?
今天教你Vim基础操作,10分钟入门。
三种模式
Vim有三种模式,这是核心概念:
- 普通模式:刚打开时的状态,可以移动光标、删除、复制
- 插入模式:按i进入,可以输入文字
- 命令模式:按:进入,执行保存、退出等命令
切换方式:
- 普通模式 → 按
i→ 插入模式 - 插入模式 → 按
Esc→ 普通模式 - 普通模式 → 按
:→ 命令模式
打开和退出
# 打开文件vimfilename# 打开并跳到第10行vim+10 filename退出(命令模式下):
:q 退出(未修改) :q! 强制退出(放弃修改) :w 保存 :wq 保存并退出 :x 保存并退出(同上)最常用:改完文件按Esc然后输入:wq回车。
移动光标
普通模式下:
h 左移 j 下移 k 上移 l 右移 0 行首 $ 行尾 gg 文件开头 G 文件末尾 :10 跳到第10行进入插入模式
i 在光标前插入 a 在光标后插入 I 在行首插入 A 在行尾插入 o 在下方新建一行 O 在上方新建一行最常用:按i开始编辑。
删除和复制
普通模式下:
x 删除一个字符 dd 删除一整行 5dd 删除5行 dw 删除一个单词 d$ 删除到行尾 yy 复制一行 5yy 复制5行 p 粘贴到下方 P 粘贴到上方 u 撤销 Ctrl+r 重做搜索和替换
搜索:
/关键词 向下搜索 ?关键词 向上搜索 n 下一个 N 上一个替换:
:s/old/new/ 替换当前行第一个 :s/old/new/g 替换当前行所有 :%s/old/new/g 替换全文所有 :%s/old/new/gc 替换全文(确认)显示行号
:set number 显示行号 :set nonumber 隐藏行号实战:改配置文件
场景:修改nginx配置
vim/etc/nginx/nginx.conf# 1. 按/搜索关键词/server_name# 2. 按i进入编辑模式# 3. 修改内容# 4. 按Esc退出编辑模式# 5. 输入:wq保存退出场景:查看日志找关键词
vim/var/log/nginx/error.log# 跳到文件末尾G# 向上搜索错误?error# 按N继续找上一个常用配置
编辑~/.vimrc:
set number " 显示行号 set tabstop=4 " Tab宽度4 set shiftwidth=4 " 缩进宽度4 set expandtab " Tab转空格 set autoindent " 自动缩进 syntax on " 语法高亮速查表
| 操作 | 按键 |
|---|---|
| 进入编辑 | i |
| 退出编辑 | Esc |
| 保存退出 | :wq |
| 不保存退出 | :q! |
| 删除一行 | dd |
| 复制一行 | yy |
| 粘贴 | p |
| 撤销 | u |
| 搜索 | /关键词 |
| 替换全部 | :%s/旧/新/g |
替代方案
实在记不住Vim,可以用nano:
nanofilename更简单,底部有快捷键提示。
但Vim效率更高,建议还是学一下。
远程编辑
经常需要SSH到服务器改配置,我用星空组网把服务器连起来,直接SSH连虚拟IP:
sshroot@10.26.1.5vim/etc/nginx/nginx.conf不用记复杂的跳板机命令,直接连。
小结
Vim入门只需记住:
i进入编辑Esc退出编辑:wq保存退出:q!不保存退出
先把这四个记住,其他慢慢学。
有问题评论区交流~