shift+h 屏幕开头 shift+m 屏幕中间 shift+l 屏幕结尾 nG 跳转到第n行 . 重复前一个操做 J 合并下一行 ?word 向上搜索 :n1,n2s/word1/word2/g 替换字符串, 全文替换则指定行为1,$s, 或者%s x 删除字符 dd 删除行 yy 复制行 d1G 删除光标行至首行 y1G dG 删除光标行至末行 yG d$ 删除光标至行末 y$ d0 删除光标至首字母 y0 ctrl + f 下翻一页 ctrl + b 上翻一页 crtl + d 下翻半页 ctrl + u 上翻半页
i 当前插入 I 行首插入 a 下一字符插入 A 行末插入
:N 跳转到第N行 :w[filename] 另存为文件 :r[filename] 读取文件并追加到光标下行 :!command 临时执行shell命令 :set backup 设置备份, 文件名为 filename~ :set paste 进入粘贴模式 :set list 显示换行符(\n), 具体的在vim环境下显示为 $ 符号。 此命令同时会显示制表符, 在vim环境中显示为 ^I 符号 :e ++ff=unix % 显示回车符(\r), 具体的在vim环境中会显示为 ^M 符号 :%s/\r//g 删除windows回车符
v # 字符选择 V # 行选择 ctl + v # 块选择 ctl + v -> d # 列删除 ctl + v -> I -> 输入 -> ESC 2 # 列插入
vim file1 file2 ... :n 编辑下一个 :N 编辑上一个 :files 当前编辑列表
:sp filename 水平切割窗口。没有filename则重复打开当前文件 :vs filename 垂直切割窗口。没有filename则重复打开当前文件 (ctrl + w) + j/下箭头 下切窗口 (ctrl + w) + k/上箭头 上切窗口 (ctrl + w) + q 退出窗口, 亦可 :q
:set all
查看当前环境配置shell
我习惯的Vim初始化配置,vim /etc/vimrc
末尾追加以下配置vim
%retab! set nu "显示行号 set ic "搜索时忽略大小写 set nowrap "禁止自动换行 set ffs=unix,dos,mac set expandtab "制表符以空格组合展现 set tabstop=4 "读取时制表符长度 set softtabstop=4 "编辑时制表符长度 set ai shiftwidth=4 "设定缩进4。注意:粘贴缩进文本需退出缩进set noai,不然粘贴结果会 自动缩进+剪贴板文本已有缩进