type
status
date
slug
summary
tags
category
icon
password
Last edited time
Aug 12, 2024 04:26 PM
📝 主旨内容
功能
- 命令行模式下的文本编辑器:
- 根据文件扩展名自动判别编程语言,支持代码缩进、代码高亮等功能。
- 使用方式:
vim filename
。如果已有该文件,则打开它;如果没有该文件,则创建并打开一个新的文件。
模式
- 一般命令模式:
- 默认模式。按不同字符进行操作,如复制、粘贴、删除文本等。
- 编辑模式:
- 从一般命令模式按下
i
进入编辑模式。 - 按下
ESC
退出编辑模式,返回一般命令模式。
- 命令行模式:
- 从一般命令模式按下
:
,/
, 或?
进入命令行模式,命令行显示在最下方。 - 可以查找、替换、保存、退出、配置编辑器等。
操作
- 基本操作:
i
:进入编辑模式。ESC
:进入一般命令模式。
- 光标移动:
h
或 左箭头键:光标向左移动一个字符。j
或 向下箭头:光标向下移动一个字符。k
或 向上箭头:光标向上移动一个字符。l
或 向右箭头:光标向右移动一个字符。n<Space>
:光标向右移动当前行的n
个字符。0
或 功能键[Home]
:光标移动到本行开头。$
或 功能键[End]
:光标移动到本行末尾。G
:光标移动到最后一行。:n
或nG
:光标移动到第n
行。gg
:光标移动到第一行,相当于1G
。n<Enter>
:光标向下移动n
行。
- 查找和替换:
/word
:向光标之下寻找第一个值为word
的字符串。?word
:向光标之上寻找第一个值为word
的字符串。n
:重复前一个查找操作。N
:反向重复前一个查找操作。:n1,n2s/word1/word2/g
:在第n1
行与n2
行之间将word1
替换为word2
。:1,$s/word1/word2/g
:将全文的word1
替换为word2
。:1,$s/word1/word2/gc
:全文替换word1
为word2
,每次替换前要求用户确认。
- 文本编辑:
v
:选中文本。d
:删除选中文本。dd
:删除当前行。y
:复制选中文本。yy
:复制当前行。p
:在光标的下一行或下一个位置粘贴。u
:撤销。Ctrl + r
:重做。>
:将选中的文本整体向右缩进一次。<
:将选中的文本整体向左缩进一次。
- 文件操作:
:w
:保存文件。:w!
:强制保存文件。:q
:退出 Vim。:q!
:强制退出 Vim。:wq
:保存并退出 Vim。
- 配置编辑器:
:set paste
:设置粘贴模式,取消代码自动缩进。:set nopaste
:取消粘贴模式,开启代码自动缩进。:set nu
:显示行号。:set nonu
:隐藏行号。gg=G
:将全文代码格式化。:noh
:关闭查找关键词高亮。
- 其他:
Ctrl + q
:当 Vim 卡死时,取消当前正在执行的命令。
异常处理
- 每次用 Vim 编辑文件时,会自动创建一个
.filename.swp
的临时文件。
- 如果打开某个文件时,该文件的
.swp
文件已存在,则会报错。解决方法有两种: - 找到正在打开该文件的程序并退出。
- 直接删除该
.swp
文件。
🤗 总结归纳
📎 参考文章
- 作者:ziuch
- 链接:https://ziuch.com/article/vim-common-commands
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。