vim

命令含义
$移至行尾
0移至行首
:set nu设置行号
:set nonu取消行号
gg第一行
G最后一行
:n第n行
:4,5d删除4~5行的内容
D删除光标所在处到行尾内容
dG删除光标所在行到文件末尾内容
dd删除光标所在行,ndd删除n行
nx删除光标所在处后n个字符
x删除光标所在处字符
yy复制当前行
nyy复制当前行以下n行
dd剪切当前行
p剪切当前行以下n行
P粘贴在当前光标所在行上
r取代光标所在处字符
R从光标所在处开始替换字
u取消上一步操作
/string搜索指定字符串
:set ic搜索时忽略大小写
:%s/7/9将所有的7替换成9
:4,5s/7/9将4~5行的7替换成9
:4,5s/^/#将4~5行注释

1. vim的几种模式

  • 正常模式下,输入":",可以在下方输入各种命令
  • 正常模式下,按"i"、“a”、"o"都可以进入插入模式
  • 正常模式下,按"v"可以进入可视模式,在可视模式下,移动光标可以选择文本。按V进入可视行模式,总是整行整行的选中
  • 正常模式下,按"R"进入替换模式

2. 启动vim

  • vim -R file 以只读的方式打开文件,但可以强制保存
  • vim -M file 以只读的方式打开文件,不可以强制保存
  • vim + file 从文件的末尾开始
  • vim +num file 从第num行开始
  • vim +/string file 打开file,并将光标停留在第一个找到的string上

3. 文档操作

  • :e file 关闭当前编辑的文件,并开启新的文件。如果对当前文件的修改未保存,vim会警告。
  • :e! file 放弃对当前文件的修改,编辑新的文件。
  • :e + file 开始新的文件,并从文件尾开始编辑。
  • :e +n file 开始新的文件,并从第n行开始编辑。
  • :e 重新加载当前文档。
  • :e! 重新加载当前文档,并丢弃已做的改动。
  • :e# 回到刚才编辑的文件。
  • :f 显示文档名,是否修改和光标位置。
  • :f file 改变编辑的文件名,这时再保存相当于另存为。
  • :n1,n2w filename 选择性保存从某n1行到另n2行的内容。
  • :saveas newfilename 另存为。
  • :Sex 水平分割一个窗口,浏览文件系统。
  • :Vex 垂直分割一个窗口,浏览文件系统。

4. 光标移动

  • “h” 或者退格,左移一个字符。
  • “l” 或者空格,右移一个字符。
  • “j” 下移一行。
  • “k” 上移一行。
  • “+” 或者 “enter” 把光标移动到下一行第一个空白字符。
  • “-” 把光标移动到上一行第一个非空白字符。
  • “w” 后移一个单词,光标停在下一个单词开头。
  • “W” 后移一个单词,光标停在下一个单词开头,但忽略标点。
  • “e” 后移一个单词,光标停在下一个单词末尾。
  • “E” 后移一个单词,如果词尾有标点,则光标移动到标点。
  • “b” 前移一个单词,光标停在上一个单词开头。
  • “B” 前移一个单词,光标停在上一个单词开头,但忽略标点。
  • “(” 前移一段
  • “)” 后移一段
  • “fc” 把光标移动到同一行的下一个c字符处。
  • “Fc” 把光标移动到同一行的上一个c字符处。
  • “tc” 把光标移动到同一行的下一个c字符前。
  • “Tc” 把光标移动到同一行的上一个c字符前。
  • “0” 移动到行首。
  • “g0” 移动到光标所在屏幕行行首。
  • “^” 移动到本行第一个非空白字符。
  • “n|” 移动光标到第n列上。
  • “nG” 移动光标到第n行上。
  • “:n” 移动到第n行。
  • “$” 移动到行末尾。
  • “H” 把光标移动到屏幕最顶端一行。
  • “M” 把光标移动到屏幕中间一行。
  • “L” 把光标移动到屏幕最底端一行。
  • “gg” 到文件头部。
  • “G” 到文件尾部。

5. 翻屏

  • “ctrl + f” 下翻一屏。
  • “ctrl + b” 上翻一屏。
  • “ctrl + d” 下翻半屏。
  • “ctrl + u” 上翻半屏。
  • “ctrl + e” 向下滚动一行。
  • “ctrl + y” 向上滚动一行。
  • “n%” 到文件n%的位置
  • “zz” 将当前行移动到屏幕中央。
  • “zt” 将当前行移动到屏幕顶端。
  • “zb” 将当前行移动到屏幕底端。

6. 剪切和复制、粘贴

  • “nx” 剪切光标右边n个字符。
  • “nX” 剪切光标左边n个字符。
  • “y” 复制在可视模式下选中的文本。
  • “yy” “Y” 复制整行文本。
  • “y[n]w” 复制一(n)个词。
  • “y[n]l” 复制光标右边1(n)个字符。
  • “y[n]h” 复制光标左边1(n)个字符。
  • “y” 从光标当前位置复制到行尾。
  • “y0” 从光标当前位置复制到行首。
  • “m,n y” 复制m行到n行的内容。
  • “D” 删除(剪切)当前位置到行尾的内容。
  • “d[n]w” 删除(剪切)1(n)个单词
  • “d[n]l” 删除(剪切)光标右边1(n)个字符。
  • “d[n]h” 删除(剪切)光标左边1(n)个字符。
  • “d0” 删除(剪切)当前位置到行首的内容。
  • “n dd” 删除(剪切)n 行。
  • “:m,nd” 剪切m行到n行的内容。
  • “dgg” 剪切光标以上的所有行。
  • “dG” 剪切光标以下的所有行。
  • “p” 在光标之后粘贴。
  • “P” 在光标之前粘贴。

7. 查找

  • “/something” 在后面的文本中查找something。
  • “?something” 在前面的文本中查找something。
  • “n” 向后查找下一个。
  • “N” 向前查找下一个。

8. 替换(所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写。)

":s/old/new" 用new替换当前行第一个old。
":s/old/new/g" 用new替换当前行所有的old。
":n1,n2s/old/new/g" 用new替换文件n1行到n2行所有的old。
":%s/old/new" 用new替换文件中所有的old。
":%s/^/xxx" 在每一行的行首插入xxx,^表示行首。
":%s/$/xxx/g" 在每一行的行尾插入xxx。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值