Vi与Vim

Vi、Vim的命令及使用

Vi、Vim基本命令

Vi文文本编辑器,是Visual interface的简称。(无敌编辑器)
Vim它是Vi的增强版,即Vi Improved。(vim需要安装)
Vi有四种模式:

  • 工作模式,可查看文件信息
  • 命令模式,控制光标移动,可对文本进行复制、粘贴、删除和查找等
  • 输入模式,正常的文本录入
  • 末行模式,保存或退出文档

Vim拥有5种编辑模式:命令模式、输入模式、末行模式、可视化 模式、查询模式。

  • 命令模式(其它模式→ESC)
  • 输入模式(命令模式→a、i、o、A、I、O)
  • 末行模式(命令模式→:)
  • 可视化模式(命令模式→v)
  • 查询模式(命令模式→?、/)

命令、输入模式常用命令

操作类型 命令 作用
光标移动 h、j、k、l 左、下、上、右
⬅、⬇、⬆、➡ 左、下、上、右
删除 dd 删除(剪切)光标所在整行
#dd 删除(剪切)从光标处开始的#行
d^ 删除当前光标之前本行所有字符
d$ 删除当前光标之后本行所有字符
删除列 若想删除一列,可以在命令模式下按ctrl + v,然后使用光标整列选取删除
复制 yy 复制光标所在整行
#yy 复制从光标处开始的#行
粘贴 p 剪切(dd)或复制(yy)过的数据粘贴到光标后面
P 剪切(dd)或复制(yy)过的数据粘贴到光标前面
搜索 /word 从上而下在文中查找字符串“word”
word 从下而上在文中查找字符串“word”
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
撤销操作 u 撤销上一步的操作
ctrl + r 撤销撤销操作
翻页 ctrl+f 或 Page Down 文件向下翻一屏
ctrl+b 或 Page Up 文件向上翻一屏
进入编辑模式 a 在当前字符后添加文本
i 在当前字符前添加文本
o 在当前后面插入一空行
行间跳转 shift + ^ 行首
shirf + $ 行尾
1G或gg 文件首部
shift + G 文件尾部
#G 跳转至文件第#行

末行模式常用命令

操作类型 命令 作用
保存文件 :w 保存
:w /root/newfile 保存文件至/root/newfile
退出vi :q 退出
:q! 强制退出
保存退出vi :wq或:x 保存退出
:wq!或:x! 强制保存退出
行号 :set nu 显示行号
:set nonu 不显示行号
大小写 :set ic 区分显示字符大小写
:set noic 忽略字符大小写
缩进 :set ai 设定自动缩进
:set noai 取消自动缩进
替换 : s/old/new 当前光标所在行的第一个old替换成new
: s/old/new/g 当前光标所在行的所有old替换成new
:%s/old/new/g 将全文中的所有old替换成new
:%s/old/new/gi 将全文中的所有old替换成new并忽略大小写(参数i)
:#,#s/old/new/g 将全文中的所有old替换成new
:%s/old/new/gc 将全文中的所有old替换成new,在替换命令末尾加c命令,将对每个替换动作进行确认
搜索 ?word 在文本中从下至上搜索“word”字符串
/word 在文本中从上至下搜索“word”字符串
:set hlsearch 高亮显示查找到的文本
:set nohlsearch 取消高亮显示
其他操作 :e /…/… 打开新文件进行编辑
:r /…/… 在当前文件中读入其他文件内容
:ADDR1,ADDR2w /…/… 将当前文件中部分内容另存为另外一个文件 末行模式下使用w命令
:! COMMAND 跟SHELL交互

使用vim编辑多个文件
vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:qa 全部退出

分屏显示一个文件
Ctrl+w, s: 水平拆分窗口
Ctrl+w, v: 垂直拆分窗口
Ctrl+w, ARROW(表示上下左右箭头):在窗口间切换光标
:qa 关闭所有窗口

分窗口编辑多个文件
vim -o : 水平分割显示
vim -O : 垂直分割显示

配置文件
/etc/vimrc
~/.vimrc

set hlsearch " //高亮度反白 
set backspace=2 " //可随时用退格键删除 
set autoindent " //自动缩排 
set tabstop=4 " //缩进 
set softtabstop=4 
softtabstop // 是“逢4空格进1制表符”,前提是tabstop=4 
set shiftwidth=4 // 自动缩进空格长度 
set mouse=a " // 使用鼠标 
set selection=exclusive 
set selectmode=mouse,key 
set ruler " //可显示最后一行的状态 
set showmode " //左下角那一行的状态 
set nu " //可以在每一行的最前面显示行号啦! 
set bg=dark " //显示不同的底色色调 
syntax on " //进行语法检验,颜色显示

下图为Vim的键盘快捷键
Vim快捷键

猜你喜欢

转载自blog.csdn.net/QQ1006207580/article/details/83018355