Vi基础命令

Vi编辑器三大模式

命令行模式

  • 输入vim 文件名进入后是命令模式
  • vim +n 文件名 打开文件,并将光标放在第n行首
  • vim + 文件名 打开文件,并将光标放在最后一行首
  • vim 文件名…文件名 打开多个文件,一次编辑
  • vim -r 文件名 恢复上一次意外关闭的文件
  • esc之后都会回到命令模式

插入模式

  • 输入一下字母进入插入模式
  • i 在光标插入
  • I行首插入
  • a 在光标插入
  • A行末插入
  • o下一行插入
  • O上一行插入

末行模式

  • 按esc进入末行模式
  • :w 保存
  • :q 退出
  • :q! 不保存强制退出
  • :wq 保存退出
  • :x 保存退出
  • shift + zz 保存退出(这个在命令模式执行)

命令行模式下的相关操作

复制命令

  • yy 复制光标所在的一行
  • 复制几行的话在把光标放在所在的行敲数字+yy:例如:4yy (去第四行)

剪切(删除)命令

  • dd 剪切(删除)光标所在的一行
  • 剪切(删除)几行的话在把光标放在所在的行敲数字+yy:例如:2dd(删除两行)
  • D 从当前的光标开始剪切(删除)一直到行末
  • d0 从当前的光标开始剪切(删除)一直到行首
  • x 删除当前光标,每次只向后删除一个
  • X 删除当前光标,每次只向前删除一个
  • dw 向后删除一个单词
  • Dw 向前删除一个单词

粘贴命令

  • p 粘贴
  • 上面的命令使用完后都可以使用这个命令

撤销命令

  • u 撤销刚刚的操作
  • ctrl + r 反撤销

浏览和控制文件

  • h
  • l
  • j
  • k
  • M 定位当前屏幕的中间
  • H 定位当前屏幕的上方
  • L 定位当前屏幕的下方
  • ctrl + f下翻一页
  • ctrl + b上翻一页
  • ctrl + d下翻半页
  • ctrl + u上翻半页
  • w 向后跳一个单词的长度,即跳到下一个单词的开始处
  • b 向前跳一个单词的长度,即跳到上一个单词的开始处

快速到文件的某一行

  • 行数G 快速去那一行
  • G 快速去最后一行
  • gg 快速去第一行

代码块操作

  • v/V 选中当前代码和当行代码
  • 移动代码 >>
  • 移动代码 <<
  • 批量移动代码缩进,先用V选中代码,再按shift和<<或者>>
  • . 重复执行上一次的命令
  • {上一片代码(按代码格式分片)
  • }下一片代码

修改操作

  • r 替换光标所在的字符 (r + 替换的字符)
  • R 替换光标以及后面所有的字符 (R + 输入字符)
  • gg=G 快速格式化全文代码(不需要去末行模式,直接输入就可以)
  • 行数gg=行数G 格式化固定行数代码 (例如:10gg=16G 格式化10到16行代码)

末行模式下相关操作

内容修改

  • :%s/原内容/替换的内容/g替换整篇内容,替换全篇内容:
    • 例如::%s/aa/bb/g (替换全篇文章aa位bb)
  • :行数,行数s/原内容/替换的内容/g替换固定行数的内容:
    • 例如::10,15s/aa/bb/g (替换第10行到第15行的aa为bb)
  • 批量注释代码块(python注释)
    • 进入命令行模式,V选中代码块,直接按shift + :,输入normal i #

配置

1
2
3
4
5
set nu!
set ts=4
set ai!
set shiftwidth=4
set expandtab

相关文章

Linux基础命令

Centos使用

Centos升级Ruby

Shell脚本

Nginx多配置文件

Nginx图片大小限制

Nginx配置WebSocket超时时间和wss

Ubuntu常用配置

Centos设置终端代理

linux禁止root直接登录