VIM快捷键
作者:admin
发布日期:2019-11-19

       

  曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在的工作使用Mac,但不时还需要用到VIM (SUSE上的VIM使用起来比Mac/Ubuntu不同,SUSE环境下,有KlemTest中使用VI很有节奏感,这个好比机械键盘青轴; 而Mac/Ubuntu终端下使用VI时,很灵动),故在网上找了比较齐全的VI/VIM快捷键的文章。

  vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh)

  可视模式:正常模式下按`v`可以进入可视模式, 在可视模式下,移动光标可以选择文本。按`V`进入可视行模式, 总是整行整行的选中。`ctrl+v`进入可视块模式。

  `vim --remote file`: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim --remote file在已有的gvim中打开文件。

  `:e file` --关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。

  :browse e -- 会打开一个文件浏览器让你选择要编辑的文件。 如果是终端中,则会打开netrw的文件浏览窗口; 如果是gvim,则会打开一个图形界面的浏览窗口。 实际上:browse后可以跟任何编辑文档的命令,如sp等。 用browse打开的起始目录可以由browsedir来设置:

  上面的操作都可以配合n使用,比如在正常模式(下面会讲到)下输入3h, 则光标向左移动3个字符。

  使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的后退和前进。

  m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。

  ``: 移动到上次编辑的位置。也可以,不过``精确到列,而精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。

  i: 在光标前插入;一个小技巧:按8,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现8个=。 这在插入分割线时非常有用,如30i+就插入了36个+组成的分割线。

  :r !date 在光标处插入当前日期与时间。同理,:r !command可以将其它shell命令的输出插入当前文档。

  A-Z:用大写字母索引寄存器,可以在寄存器中追加内容。 如Ayy把当前行的内容追加到a寄存器中。

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

  g ^g可以统计文档字符数,行数。 将光标放在最后一个字符上,用字符数减去行数可以粗略统计中文文档的字数。 以上对 Mac 或 Unix 的文件格式适用。 如果是 Windows 文件格式(即换行符有两个字节),字数的统计方法为: 字符数 - 行数 * 2。

  :tabe, tabnew -- 如果加文件名,就在新的标签中打开这个文件, 否则打开一个空缓冲区。

  [n] gt -- 切换到下一个标签。如果前面加了n, 就切换到第n个标签。第一个标签的序号就是1。

  :tabm[ove] [N] -- 移动标签页,移动到第N个标签页之后。 如tabm 0当前标签页,就会变成第一个标签页。

  gu(U)接范围(如$,或G),可以把从光标当前位置到指定位置之间字母全部 转换成小写或大写。如ggguG,就是把开头到最后一行之间的字母全部变为小 写。再如gu5j,把当前行和下面四行全部变成小写。

  大致有三种文件格式:unix, dos, mac. 三种格式的区别主要在于回车键的编码:dos 下是回车加换行,unix 下只有 换行符,mac 下只有回车符。

  有时一个tag可能有多个匹配,如函数重载,一个函数名就会有多个匹配。 这种情况会先跳转到第一个匹配处。

  vim提供了:make来编译程序,默认调用的是make, 如果你当前目录下有makefile,简单地:make即可。

  如果你没有make程序,你可以通过配置makeprg选项来更改make调用的程序。 如果你只有一个abc.java文件,你可以这样设置:

  然后:make即可。如果程序有错,可以通过quickfix窗口查看错误。 不过如果要正确定位错误,需要设置好errorformat,让vim识别错误信息。 如:

  %f表示文件名,%l表示行号, %m表示错误信息,其它的还不能理解。 请参考 :help errorformat。

  C-x C-f -- 自动补全文件路径。弹出菜单后,按C-f循环选择,当然也可以按 C-n和C-p。

  上下方向键:上一条或者下一条命令。如果已经输入了部分命令,则找上一 条或者下一条匹配的命令。

  命令帮助的格式为:第一行指明怎么使用那个命令; 然后是缩进的一段解释这个命令的作用,然后是进一步的信息。

  1. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行。 插入模式:可以输入文本,在正常模式下,按...

  目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...

  一、移动光标1、左移h、右移l、下移j、上移k2、向下翻页ctrl + f,向上翻页ctrl + b3、向下翻半页...

  世界真复杂,这两个女同学的互相说她们的坏话给我听,我好心累,我不想听,能好好一起好好玩嘛,我不想跟她们玩了,我内心...

上一篇:和弗兰克学写作第十一期+发掘自己的无限可能+16
下一篇:没有了