Linux_06_Vim编辑器
@
Vim编辑文件
打开
| Vim打开方式 | 说明 |
|---|---|
| vim 文件路径 | Vim打开指定路径的文件 (光标位于文件头或上次退出处) |
| vim +数字N 文件路径 | Vim打开指定路径的文件 (光标位于第N行) |
| vim +/关键词 文件路径 | Vim打开指定路径的文件 (同时以高亮显示关键词,光标同第一种方式) |
| vim 文件路径1 文件路径2 | 同时打开多个指定路径的文件 (光标同第一种方式) |
退出
Vim退出必须通过末行模式,且退出分为以下5种:
| 退出方式 | 含义 |
|---|---|
| q | 退出 (若已修改文件,则会退出失败) |
| q! | 强制退出 (强制退出已修改文件,且不保存) |
| wq | 保存并退出 |
| x | 保存并退出 |
- wq/q和x退出的区别如下(建议适用x):
| 文件是否修改 | wq/q退出 | x退出 |
|---|---|---|
| 是 | 更新文件的修改时间 | 更新文件的修改时间 |
| 否 | 更新文件的修改时间 | 不更新修改时间 |
Vim模式

| 模式 | 说明 |
|---|---|
| 命令模式 (默认模式) |
通过快捷键游览和修改文件 |
| 末行模式 (尾行模式) |
通过特定命令操作文件 |
| 编辑模式 (输入模式) |
通过键盘进行文本式修改文件 |
命令模式
命令模式:通过快捷键游览和修改文件
- 常用快捷有以下3种:
- 移动光标(游览文件):
| 快捷键 | 说明 |
|---|---|
| h (←) |
光标向左移动一个字符单位 |
| j (↓) |
光标向下移动一个字符单位 |
| k (↑) |
光标向上移动一个字符单位 |
| l (→) |
光标向右移动一个字符单位 |
| shift和6 | 光标移到当前所在行的行首 |
| shift和4 | 光标移到当前所在行的行尾 |
| gg | 光标移到首行 |
| G | 光标移到末行 |
| N和G | 光标移到第N行 |
| N和j或k | 以当前光标所在行为基准移动N行 |
- 也可通过
Ctrl和B(向上翻页)和Ctrl和F(向下翻页)游览文件
- 修改文件:
| 快捷键 | 说明 |
|---|---|
| x | 删除当前光标所在的字符 |
| dd | 删除光标所在行 |
| N和dd | 以当前光标所在行为基准,向下删除N行 |
| yy | 复制光标所在行 |
| N和yy | 以当前光标所在行为基准,向下复制N行 |
| p | 以当前光标所在行为基础,向上黏贴 |
| P | 以当前光标所在行为基础,向下黏贴 |
- 可视化删除/复制
Ctrl和V:通过移动光标选择需操作字符
- 撤销和恢复:
| 快捷键 | 说明 |
|---|---|
| U | 撤销快捷键操作 (只能撤销该次打开文件进行的操作) |
Ctrl和R |
恢复撤销 |
| . | 重复上次操作 |
末行模式
末行模式:通过特定命令操作文件
- 常用命令有以下5种:
- 退出/保存文件:
| 退出方式 | 含义 |
|---|---|
| q | 退出 (若已修改文件,则会退出失败) |
| q! | 强制退出 (强制退出已修改文件,且不保存) |
| wq | 保存并退出 |
| x | 保存并退出 |
- 调用外部命令:在不退出Vim的同时执行命令
- 使用格式:
!命令 - 回车后会切换到终端显示运行结果,可再次回车返回打开的文件
列1:Vim打开/etc/passwd文件的同时输出当前时间
(1)末行模式下输入“!date”
(2)运行结果
- 检索关键词(正则表达式):输入关键词并回车,以高亮显示每个关键词
- 使用格式:
/关键词 - 可通过
N(上一个)和n(下一个)查看关键词 - 若关键词包含"/",应使用
\转移字符表示其为普通字符 - 取消高亮,可输入命令:
nohl
列1:Vim打开/etc/passwd文件的并检索包含关键词“/sbin/nologin”
(1)末行模式下输入“/\/sbin\/nologin”
(2)运行结果
- 替换:匹配指定内容并替换,有以下4种格式:
- 格式1(仅替换光标往后第一处匹配成功内容):
s/匹配内容/替换内容 - 格式2(替换光标所在行所有匹配成功内容):
s/匹配内容/替换内容/g - 格式3(仅替换文件中每行第一处匹配成功内容):
%s/匹配内容/替换内容 - 格式4(替换文件中所有匹配成功内容):
%s/匹配内容/替换内容/g
- 同时显示多个文件:再打开文件并和已打开的文件同时显示
- 使用格式:
sp 文件路径 - 切换光标所在文件快捷键:
Ctrl和W 和 上下方向键
例1:在两个窗口下同时查看/etc/passwd文件
编辑模式
编辑模式:通过键盘进行文本式修改文件
- 常用进入方式有以下7种:
![在这里插入图片描述]()
Vim实用功能
异常退出
异常退出:Vim打开文件后不通过标准命令形式退出文件,当下次打开时会弹出异常退出报错
- Vim打开文件时会默认创建同名的临时交换文件,但后缀为
swap - 删除该临时文件即可解决异常退出(正常退出时,默认自动删除该临时交换文件)
- 也可在打开临时文件时按“R”保存退出时未保存的内容以解决异常退出(仍需手动删除临时交换文件)
例1:打开异常退出的文件
| 按键 | 含义 |
|---|---|
| O (Open Ready Only) |
以只读模式打开该文件 |
| E (Edit anyway) |
默认模式打开该文件,但不加载临时交换文件 |
| R (Recover) |
正常打开该文件,并加载临时交换文件 |
| D (Delete it) |
打开该文件,并在打开前删除临时交换文件 |
| Q (Quit) |
退出 |
| A (Abort) |
忽略编辑操作,并退出 |
配置Vim
配置Vim:Vim配置文件分为临时配置、个人配置、全局配置
- 临时配置:在末行模式下运行的各种配置命令(关闭即失效)
- 个人配置:各个用户Vim独立的Vim配置文件
~/.virmc - 全局配置:所有用户的默认Vim配置文件
/etc/vimrc - 优先级:临时配置 > 个人配置 > 全局配置
- 常用配置命令:
| 命令 | 含义 |
|---|---|
| set nu | 显示行号 |
| set nonu | 关闭行号 (默认配置) |
| syntax on | 语法高亮 |
| syntax off | 关闭语法高亮 (默认配置) |
| set backup | 自动保存备份文件 |
| set nobackup | 取消自动备份文件 (默认配置) |
博主配置文件
"""关闭兼容Vi"""
set nocompatible
"""ESC反应时间为100ms"""
set ttimeout
set ttimeoutlen=100
"""开启新行时,自动缩进"""
set smartindent
"""输入搜索内容时就显示搜索结果"""
set incsearch
"""右下角状态栏"""
set ruler
"""显示当前所在模式"""
set showmode
"""背景色为黑色"""
set background=dark
"""颜色主题为黑色"""
colorscheme slate
"""显示行号"""
set nu
"""语法高亮"""
syntax on
"""F5编译程序"""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!time java %<"
elseif &filetype =='python'
exec "!time python3 %"
elseif &filetype == 'go'
exec "!go build %<"
exec "!time go run %"
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'html'
exec "!firefox % &"
endif
endfunc








浙公网安备 33010602011771号