vim编辑器

1. vi与vim

vi和vim,简单来说就是程序开发工具。vim是vi的升级版。那为什么要学vi和vim呢?CentOS上默认使用vim来替换vi,而且很多命令会直接调用vim作为数据编辑的接口。

1.1 三种模式
  • command mode
  • insert mode
  • command-line
  • visual block(可视化模式,为vim所独有)

常用命令

  • h, j, k, l 向左,下,上,右四个方向移动光标
  • Ctrl + f[orward], b[ackward], u[pward], d[ownward] 向下,上翻整页,向上,下翻半页
  • 0 移动到当前行的最前面
  • $ 移动到当前行的最后面
  • G 移动到文件的最后面
  • gg 移动到第一行
  • n 光标向后移动n行

  • /word 向后查找word
  • ?word 向前查找word
  • n 重复前一个动作
  • N 反向进行前一个查找操作

  • :n1, n2s/word/word1/g 将n1-n2行之间的word替换成word1
  • :n1, $s/word/word1/g 将n1到文件末尾的word替换成word1
  • :n1, $s/word/word1/gc 将n1到文件末尾的word替换成word1并需要确认

  • x与X 相当于[del] 和[backspace]键

  • dd 删除一整行

  • yy 复制光标所在的一行

    配合n+ 使用很方便


  • p 行后粘贴
  • P 行前粘贴
  • u 恢复到上一步
  • Ctrl + r redo

  • . 重复上一个操作

  • :n 编辑下一个文件
  • :N 编辑上一个文件
  • :files 列出目前这个vim开启的所有文件
1.2 vim的额外功能
1.2.1 可视化块
可视化块的按键意义
v 字符选择
V 行选择
Ctrl+v 可视化区块
y 将反白的地方复制起来
d 将反白的地方删除掉
p 将刚刚复制的区块,在光标所在处粘贴
1.2.2 多文件编辑
多窗口情况下的按键功能
:sp [filename] 打开一个新窗口,如果有filename,表示在新窗口创建一个新文件,否则表示两个窗口为同一个文件(同步显示)
[Ctrl]+w+↑/k 先按下[Ctrl]不放,然后按w放开所有按键,之后按下j移到下方的窗口
[Ctrl]+w+↓/j 同上,不过为移到下方的窗口
[Ctrl]+w+q 其实就是:q结束退出,如果想结束下方的窗口,那么利用ctrl+w+j,然后:q即可退出,也可以按ctrl+w+q,此外也可以是:close关闭所在的窗口
1.2.3 vim的关键词补全功能
组合键 补齐的内容
ctrl+x --> ctrl+n 通过目前正在编辑的这个[文件的内容文字]作为关键词,予以补齐
ctrl+x --> ctrl+f 以当前目录内的[文件名]作为关键词,予以补齐
ctrl+x --> ctrl+o 以扩展名作为语法补充,以vim内置的关键词,予以补齐

其中1和3使用的比较频繁。前者用来少敲字,后者用来语法补齐

1.2.3 vim环境设置与记录:/.vimrc、~/.viminfo

vim环境记录:~/.viminfo

vim环境设置:~/.vimrc

1.2.4 vim常用命令示意图

img

1. 2.5 vim的编码以及换行符问题

可以使用

iconv

  • f 选项,指定源文件
  • t 选项,指定输出文件
  • o选项,将转码后的文件转存成新文件

进行文件编码格式的转换,使用

dos2unix

  • k 选项,保留原文件的mtime
  • n 选项,保留原本的旧文件,将转换后的文件输出到新文件

进行dos与linux的换行符的转换。

posted @ 2021-01-13 16:04  hwa  阅读(162)  评论(0编辑  收藏  举报