vim
文件另存
:w new_file 将缓冲区内容保存为new_file文件,原文件内容不更改 :20,$w new_file 将文件20行处到结尾保存为new_file文件 :.,20w new_file 将光标所在行到第20行保存为new_file文件 :20,30w >> new_file 追加20至30行内容到new_file文件中
一个文件copy到另一个文件
:r filename 把filename中的内容插入到光标所在行的下一行 :10r filename 把filenaem中的内容插入到100行后面 :$r filename 插入行尾 :0r filename 插入行首 :/parttern/r filename 还可以使用正则表达式,插入到匹配出的后面一行,
需要注意的是如果有多处匹配,它只插入到首个匹配的地方
标记 标记又称为书签,在某个位置打上标记后,在别处编辑完,通过命令可以回到标记处(以下命令模式中执行)
mx 将当前位置标记诚x(此处的x可以是热任意字母) 'x (单引号)光标移到标记x处的行首 `x (反引号)光标移到标记x处 `` (双反引号)当前光标处于标记处来回切换 '' (双引号) 当前光标所在行处与标记处来回切换,光标定位在行首
ab命令:
ab命令可以将一长串字符用缩写来定义,这有点像Linux中的alias,比如Linux的中的ll命令就是ls -l的别名,ab的语法表示为:
:ab abbr phrase
abbr就是对phrase的简写,在insert 模式中,输入abbr,再按非字母字符(比如空格,点号等)Vim就自动把phrase插入到光标处位置。此情景一般用在频繁输入的字符中,通常建议abbr选择使用频率很低的字符,比如Eclipse常用的一个快捷键syso,你可以定义成如下:
:ab syso public static void main(String[] args)
这样一来,每次输入syso的时候,整个main方法就自动插入到文本行了。如果你就是想输入'syso'这个原生字符串,那么您可以用下面这个命令取消:
:unab syso
列出当前定义的缩写有哪些可以用命令:
:ab