:1,10d 删除1-10行
:11,$d 删除11行及以后所有的行
:1,$d 删除所有行
J(shift + j)删除两行之间的空行,实际上是合并两行 。
yy 拷贝当前行
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行 。
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴 。
shift+p 在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行之后 。
:1,$ co $ 将整个文件复制一份并添加到文件尾部 。
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
文章插图
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
ndd 剪切当前行之后的n行 。利用p命令可以对剪切的内容进行粘贴
:1,10d 将1-10行剪切 。利用p命令可将剪切后的内容进行粘贴 。
:1, 10 m 20 将第1-10行移动到第20行之后 。
:wq 保存并退出
ZZ 保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件 。
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口 。
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
关闭窗口
:close 最后一个窗口不能使用此命令,可以防止意外退出vim 。
:q 如果是最后一个被关闭的窗口,那么将退出vim 。
ZZ 保存并退出 。
关闭所有窗口,只保留当前窗口
:only
录制宏
按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa 。。。q录制名为a的宏,@a使用这个宏 。
:!command
:!ls 列出当前目录下文件
:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便 。
:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便 。
:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim 。
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
3,5 s/^/#/g 注释第3-5行
3,5 s/^#//g 解除3-5行的注释
1,$ s/^/#/g 注释整个文档 。
:%s/^/#/g 注释整个文档,此法更快 。
:help or F1 显示整个帮助:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助) 。:help 'number' Vim选项的帮助用单引号括起:help <Esc> 特殊键的帮助用<>扩起:help -t Vim启动参数的帮助用-:help i_<Esc> 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回
. 重复前一次命令
:set ruler?查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看
:scriptnames查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等 。
:set list 显示非打印字符,如tab,空格,行尾等 。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格 。
Vim教程
在Unix系统上$ vimtutor在windows系统上:help tutor:syntax 列出已经定义的语法项:syntax clear 清除已定义的语法规则:syntax case match 大小写敏感,int和Int将视为不同的语法元素
:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案
推荐阅读
- Linux 命令正确的退出方式:exit 0
- linux中systemctl详细理解及常用命令
- linux中netstat和ss命令详解
- ping命令的七种用法,看完瞬间成大神
- 如何使用 ethtool 命令管理以太网卡
- 在Linux上使用finger命令查询登录用户信息
- 四个使用率最高的网络命令,你get了吗?
- 计算机网络命令详解ping、arp、ipconfig、tracert、route详解
- 系统管理员不得不掌握的 9 个 kubectl 命令
- Linux系统常用的文件管理命令