简介
命令行下的文本编辑器,能够根据扩展名识别编程语言,支持自动缩进和代码高亮。使用方法:
vim filename
若该文件不存在,则打开一个新文件命名为filename
共有三个模式以实现不同的操作
- 一般命令模式:按指定的键可以实现复制、粘贴、选择、删除等操作
- 编辑模式:在一般命令模式下按 i 键会进入编辑模式,此时可对文件进行编辑,编辑模式下按 esc 键会退出编辑模式返回一般命令模式
- 命令行模式:在一般命令模式下按 : / ? 中的任意一个可以进入命令行模式,输入相关命令可执行相应的操作,如查找、替换、保存、退出等
一般命令模式操作
- i :进入编辑模式
- h 或 左方向键 : 光标向左移动一个字符
- j 或 下方向键 : 光标向下移动一个字符
- k 或 上方向键 : 光标向上移动一个字符
- l 或 右方向键 : 光标向右移动一个字符
- 数字n+空格 :光标向右移动这一行的n个字符
- 数字n+回车 :光标向下移动n行
- 0 或 home键 :光标移动到本行开头
- $ 或 end键 :光标移动到本行末尾
- 字母G :光标移动到最后一行
- 字母gg(连按两次g):光标移动到第一行
- 数字n+字母G :光标移动到第n行
- /word :向光标之下寻找第一个值为word的字符串
- ?work :向光标之上寻找第一个值为word的字符串
- v :选中文本,按下后可用方向键或上述移动光标的命令选择文本
- y :复制选中的文本
- d :删除选中的文本
- dd :剪切光标所在行
- yy :复制光标所在行
- p :将复制的数据在光标下一个位置/下一行粘贴
- u :撤销
- ctrl + r :取消撤销
- ctrl + q :取消当前正在执行的命令,vim卡住时可尝试
> :将选中的文本向右缩进
- < :将选中的文本向左缩进
- ggdG :组合键,删除全文
- gg=G :将全文代码格式化
命令行模式操作
- :q 退出
- :q! 不保存修改强制退出
- :w 保存
- :wq 保存并退出
- :set nu 显示行号
- :set nonu 隐藏行号
- :set paste 设置成粘贴模式,取消自动缩进
- :set nopaste 取消粘贴模式,开启自动缩进
- :noh 关闭查找关键词高亮
- :n n为数字,将光标移动到第n行,同 nG
- :n1,n2s/word1/word2/g n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
- :1,$s/word1/word2/g 将全文的word1替换为word2
- :1,$s/word1/word2/gc 将全文的word1替换为word2,且在替换前要求用户确认
异常处理
每次用vim打开文件时,会自动创建一个.filename.swp的文件用来保存临时数据,在正常退出文件时该临时文件会被删除,若不正常退出则该文件会存在。用vim打开文件时若.filename.swp这个临时文件已存在,则会报错,可按提示进行操作。或者,1.找到正在编辑该文件的vim并退出,2.直接删掉该swp临时文件