您的当前位置:首页vi 编辑器使用积累

vi 编辑器使用积累

来源:锐游网

Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。

vi test.c

yum install -y vim
vim test.c
进入编辑状态
  • a 从当前光标位置进入编辑状态,光标会向后移动一个位置。
  • A 从当前光标位置进入编辑状态,光标移到行尾
  • i 从当前光标位置进入编辑状态。
  • I 从当前光标位置进入编辑状态,光标移到行首第一个字符。
  • o 从当前光标位置进入编辑状态,在当前行下面新建空行。
  • O 从当前光标位置进入编辑状态,在当前行上面新建空行。
进入命令行状态

esc

在vi 中执行命令

:! commands

选择
  • v 选择光标经过的地方,以反白表示,按一下 v 就行了,不用常按,然后使用上下左右键,或者使用 end, home 键。
  • V 选择光标经过的行,以反白表示。
  • ctrl + v 长方形选择,先将光标停在长方形的左上角,按一下 ctrl + v,使用右键选中横向,然后使用下键选中竖向,最终结果以反白表示。
复制Yank

复制行

  • y 复制已选中的,也就是反白的部分。
  • yy 复制当前行。
  • 6yy 复制当前行及其后面的5行,一共6行。

复制字符串

  • y0 复制光标至行首之间的字符串。
  • y$ 复制光标至行尾之间的字符串。
剪切Delete

剪切行

  • d 剪切已选中的,也就是反白的部分。
  • dd 剪切当前行。
  • 6dd 复制当前行及其后面的5行,一共6行。

剪切字符串

  • d0 剪切光标至行首之间的字符串。
  • d$ 剪切光标至行首之间的字符串。
粘贴Past

p 从光标的下一行开始粘贴,小写。

P 从光标的上一行开始粘贴,大写。

删除

也就是剪切操作。

撤销操作Undo

u

保存与退出
  • :q 退出
  • :q! 强制退出
  • :w 保存
  • :wq 保存退出
  • :w filename 将当前文件内容保存到另一个文件,也就是备份。
  • :x 保存退出
  • :r filename 将另一个文件的内容读取到当前光标处。
光标移到
  • 1G 移到到第一行
  • NG 移动到第N行
  • G 移动到最后一行
  • home 行首
  • end 行尾
  • ctrl + home 移到到第一行
  • ctrl + end 移动到最后一行
  • ctrl + f 相当于 page down
  • ctrl + b 相当于 page up
行号

:set nu

:set nonu

查找

命令行模式下 /xxxx 表示要查找 xxxx ,按回车,然后 n 查找下一个,N 查找上一个。

xxxx 支持正则表达式,比如 /^ret 表示以 ret 开头的。

替换
  • :s /str1/str2 当前行,使用 str2 替换 str1,中间没有空格,只会替换一次。
  • :s /str1/str2/g 当前行,使用 str2 替换 str1,全部替换。
  • :.,$ s /str1/str2/g 当前行到尾行,点号表示当前行,$ 表示尾行,$ 可以替换为具体的行号。
  • :1,$ s /str1/str2/g 全文。
  • :%s /str1/str2/g 全文。
文件编码格式
  • :set fileencoding 查看当前文件编码格式。
  • :set fileencoding=utf-8 设置编码格式。
断行格式(dos\windows,unix或macintosh)
  • :set fileformat
  • :set fileformat=unix
无法复制文本

有时候我们 Vi 打开一个文件,发现无法复制粘贴里面的内容,编辑器处于 VISUAL 状态,此时按 esc 然后输入命令 :set mouse-=a 回车,即可复制了。

多文件编辑

vim file1 file2 同时打开两个文件。
:n 编辑下一个文件。
:N 编辑上一个文件。
:files 列出当前用vim打开的所有文件。

多窗口编辑

先 vim 进入一个文件,在这个窗口的基础上可以打开多窗口编辑多个文件

:sp filename 打开一个新窗口,显示新文件,若只输入 :sp,则两窗口显示同一个文件。
ctrl + w + 上下键 光标移动到其他窗口。

如果想关闭某个窗口,可以使用:q, :wq 等命令退出即可。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top