[关闭]
@Chiang 2019-09-08T14:49:26.000000Z 字数 1917 阅读 573

Vim

Linux


模式切换

图1

图2

一般命令模式

1.光标移动按键

h j k l

向下移动30行 30j

2.翻页移动

  • Ctrl+f 屏幕向下移动一页
  • Ctrl+b 屏幕向上移动一页
  • Ctrl+d 屏幕向下移动半页
  • Ctrl+u 屏幕向上移动半页
  • + 光标移动到非空格符的下一行
  • - 光标移动到非空格符的上一行
  • n<space> 光标向右移动这行的n个字符
  • 0 移动到行首
  • $ 移动到行尾
  • H 光标移动到屏幕最上方那行第一个字符
  • M 光标移动到屏幕最中央那行第一个字符
  • L 光标移动到屏幕最下方那行第一个字符
  • G 光标移动到文件最后一行
  • nG 光标移动到文件的第n行
  • gg 光标移动到文件的第一行
  • 1G 光标移动到文件的第一行
  • n<Enter> 光标移动到所在行下的n行

3.查找与替换

  • /word 向光标之下寻找一个名称为word的字符串.
  • ?word 向光标之上寻找一个名称为word的字符串.
  • n 重复前一个查找的操作 常搭配/word ?word
  • N 反向进行前一个查找操作 常搭配/word ?word
  • :n1,n2s/word1/word2/gn1n2之间的word1替换成word2
  • :1,$s/word1/word2/g 把第一行到最后一行之间的word1替换成word2
  • :1,$s/word1/word2/gc 把第一行到最后一行之间的word1替换成word2,每次替换前需确认

4.删除、复制与粘贴

  • x 向后删除一个字符
  • X 向前删除一个字符
  • nx 连续向后删除n个字符
  • dd 删除(剪切)光标所在那一整行
  • ndd 删除(剪切)光标所在行向下n行(包含光标所在行)
  • d1G 删除(剪切)光标所在行到第一个行(包含光标所在行)
  • dG 删除(剪切)光标所在行到最后一行(包含光标所在行)
  • d$ 删除(剪切)光标所在处到该行的最后一个字符
  • d0 删除(剪切)光标所在处到该行的第一个字符
  • yy 复制光标所在行
  • nyy 复制光标所在行向下n行(包含光标所在行)
  • y1G 复制光标所在行到第一个行(包含光标所在行)
  • yG 复制光标所在行到最后一行(包含光标所在行)
  • y0 复制光标所在处到该行的第一个字符
  • y$ 复制光标所在处到该行的最后一个字符
  • p 在光标所在行下一行粘贴
  • P 在光标所在行上一行粘贴
  • J 将光标所在行与下一行数据结合成同一行
  • c 重复删除多个数据,例如向下删除10行, [10cj]
  • u 回复前一个操作
  • ctrl+r 重做上一个操作
  • . 重复前一个操作

编辑模式

  • i 光标所在字符前插入
  • I 光标所在行首插入
  • a 光标所在字符后插入
  • A 光标所在行尾插入
  • o 光标所在下一行插入
  • O 光标所在上一行插入
  • r 替换当前光标所在字符
  • R 一直替换光标所在文字,直到按下ESC为止
  • ESC 退出编辑模式, 回到一般命令模式

命令行模式

  • :w 保存
  • :w! 强制保存
  • :q 退出
  • :q! 强制退出
  • wq 保存并退出
  • ZZ 有修改保存退出,无修改直接退出
  • :w [filename] 另存新文件
  • :r [filename] 读取filename文件内容写入当前文件
  • :n1,n2 w [filename] 将n1到n2的内容保存为filename文件
  • :! command 暂时退出vi到命令行模式下执行command的显示结果.

vim 环境修改

  • :set nu 显示行号
  • :set nonu 取消行号

当我们在使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个名为.filename.swp的文件,用作缓存与恢复.

可视区块 (visual block)

  • v 字符选择,会将光标经过的地方反白选择
  • V 行选择,会将光标经过的行反白选择
  • Ctrl+v 可是区块,可以用矩形的方式选择数据
  • y 将反白的地方复制起来
  • d 将反白的地方删除掉
  • p 将刚刚复制的区块,在光标所在处粘贴

多文件编辑

  • :n 编辑下一个文件
  • :N 编辑上一个文件
  • :files 列出目前这个vim开启的所有文件
  1. # 一次打开多个文件
  2. vim hosts /etc/hosts

多窗口功能

  • :sp [filename] 打开一个新窗口,如果有加filename,表示在新窗口创建一个新文件,否则表示两个窗口为同一个文件内容(同步显示)
  • ctrl+w+j 按键的按法是:先按下Ctrl不放,再按下w后放开所有的按键,之后再按下j,则光标可移动到下方的窗口
  • ctrl+w+k 光标移动到上方的窗口
  • ctrl+w+q 退出结束
  • :close 关闭所有接口

关键词补全功能

感觉不实用

环境设置 ~/.vimrc ~/.viminfo

~/.vimrc

该文件默认不存在,需要自行手动建立

这里配置长久环境参数

~/.viminfo

该文件记录着操作的历史

注意事项

  1. 中文编码

  2. dos与Linux的换行

  3. 语系编码转换


参考资料:
鸟哥的Linux私房菜

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注