vim使用存档

  最近一直在使用vim,这里备份下各种快捷键

  1. 光标的移动

    • 左下上右:分别对应h,jk,l。如果你想一次移动多步,只需在相应命令前加上数字即可,如2h向左移动两步。
    • 开头与结尾:按G跳到最后一行,按1G or gg跳到第一行。在前面加上数字则跳转到相应的行,如50G跳到第50行
    • 跳转到下一个词:按w,如果想返回刚才的位置只需按b。和前面类似,若想移动多个词只需指定数字前缀即可。
    • 跳转到下一句:按),按(返回刚才的位置。
    • 跳转到下一段:按},类似的按{返回前一次的位置。
    • 跳来跳去: ctrl-o跳回前一次的位置, ctrl-i跳向下一次的位置。
    • 标记位置:使用ma将一段文本中某个位置标记为a,按'a跳到该位置所在的行,按`a跳到标记a所在的具体位置。可以使用的位置标记有a-zA-Z,共52个

  2. 拷贝,剪切,黏贴  :  d , y , p

操作对象  |  剪切 |   拷贝

----------|-------|----------

一个字符  |  dl    |   yl       (注意是小写字母L,而不是数字1)

----------|-------|-----------

一个词     |  dw  |    yw

----------|-------|-----------

一行文本  |  dd   |    yy    (yy→ 拷贝当前行当行于 ddP)

----------|-------|-----------

一段文本  |  dap |   yap

----------|-------|----------

    2013.5.2 add: 

    dd → 删除当前行,并把删除的行存到剪贴板里 

    p → 粘贴剪贴板  (抄自http://coolshell.cn/articles/5426.html?utm_source=feedly

     (p/P都可以,p是表示在当前位置之后,P表示在当前位置之前)

 

3. Undo , Redo   u , ctrl+r

  高级操作,earlier和later命令

  :earlier 4m   回到4分钟前的操作

  :later 30s    前进到30秒后的状态

以树形结构的方式组织undo list

 

4. 搜索   /\d\*  /\d\+  ...

 

5. 多文档的查看与编辑

    1. 在不同窗口中打开多个文档

      先打开一文档,然后 :e test.c 打开第二个文档,:ls 或 :buffers 查看当前打开的文件,:b[1-9]{1}切换

    2.在同一窗口中打开多个文档

      同上,:new ~/path/test.c (水平打开)

      :sp .. 同上(水平) :vsp (竖直) :q 关闭

    3. 在不同Tab中打开多个文档

      :tabnew 打开新tab   gt切换tab :q 关闭

      4. 关闭,保存多个文件 :qa  :wa  :wqa  :qa!  (抄自:http://www.ibm.com/developerworks/cn/linux/l-vimdiff/)

2013.5.2 add:

  6.各种插入模式

    a → 在光标后插入

    o → 在当前行后插入一个新行

    O → 在当前行前插入一个新行

    cw → 替换从光标所在位置后到一个单词结尾的字符

    

 7.简单的移动光标

  0 → 数字零,到行头

  ^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

  $ → 到本行行尾

  g_ → 到本行最后一个不是blank字符的位置。

 

   8.打开/保存/退出/改变文件

    :e <path/to/file> → 打开一个文件

    :w → 存盘

    :saveas <path/to/file> → 另存为 <path/to/file>

    :x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)

    :q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。

    :bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)


2013-5-19   add 

 9.替换本行string    将str1 替换为str2

  :s/str1/str2/    →替换本行的 第一此出现的str1→str2

  :s/str1/str2/g    →替换本行所有 的str1 2 str2

   

 

 

 

文件检测:

source: http://easwy.com/blog/archives/advanced-vim-skills-filetype-on/ 

 

内嵌编译:

source:http://easwy.com/blog/archives/advanced-vim-skills-quickfix-mode/

    设置编译指令:

    :set makeprg=gcc\ -Wall\ -ohello\ hello.c

  上面的命令会把hello.c编译为名hello的可执行文件,并打开了所有的Warnning。如果编译命令中有空格,需要使用’\‘对空格进行转义,上面的例子就使用了’\‘转义空格。

    进行编译

    :make

  在使用”:make“时,vim会自动调用’makeprg‘选项定义的命令进行编译,并把编译输出重定向到一个临时文件中,当编译出现错误时,vim会从上述临时文件中读出错误信息,根据这些信息形成quickfix列表,并跳转到第一个错误出现的地方。

  对于我们上面的程序来说,光标会停在第三行,也就是第一个出错的位置,vim同时会提示出错信息。如果你没看清出错信息,可以输入”:cc“命令,vim会更次显示此信息,或者干脆使用”:cw“命令,打开一个quickfix窗口,把所有的出错信息显示出来

在quickfix模式里经常用到的命令有:

:cc                显示详细错误信息 ( :help :cc )
:cp                跳到上一个错误 ( :help :cp )
:cn                跳到下一个错误 ( :help :cn )
:cl                列出所有错误 ( :help :cl )
:cw                如果有错误列表,则打开quickfix窗口 ( :help :cw )
:col               到前一个旧的错误列表 ( :help :col )
:cnew              到后一个较新的错误列表 ( :help :cnew ) 

  单词的移动 摘自:http://easwy.com/blog/archives/advanced-vim-skills-basic-move-method/

  vim中,移动光标到下一个单词的词首,使用命令”w“,移动光标到上一个单词的词首,使用命令”b“;移动光标到下一个单词的结尾,用命令”e“,移动光标到上一个单词的结尾,使用命令”ge“。

  不太了解g ,:help g 查看commend started with 'g'

  

  查询 摘自:http://easwy.com/blog/archives/advanced-vim-skills-basic-move-method/

  在vim中查找非常容易,直接在Normal模式下输入”/“,然后输入你想查询的字符串,回车,就跳转到第一个匹配的地方了。”/“是向下查找,而”?“进行反方向查找。命令”n“重复上一次的查找命令,而命令”N“也重复上一次的查找命令,只不过它按相反方向查找。

  vim保存了查找的历史记录,你可以在输入”/“或”?“后,用上、下光标键(或CTRL-P/CTRL-N)翻看历史记录,然后再次执行这个查找。

  另外你还可以使用”q/“和”q?“命令,在vim窗口最下面打开一个新的窗口,这个窗口会列出你的查找历史记录,你可以使用任何vim编辑命令对此窗口的内容进行编辑,然后再按回车,就会对光标所在的行的内容进行查找。

vim中有许多与查找相关的选项设置,其中最常用的是’incsearch‘, ‘hlsearch‘, ‘ignorecase‘。

  • incsearch‘表示在你输入查找内容的同时,vim就开始对你输入的内容进行匹配,并显示匹配的位置。打开这个选项,你可以即时看到查找的结果。
  • hlsearch‘选项表示对匹配的所有项目进行高亮显示。
  • ignorecase‘选项表示在查找时忽略大小写。

2013-5-26  add 关于search的高亮 from:[http://gccfeli.cn/2009/04/vim-hlsearch.html]

set hlsearch "打开高亮搜索
set nohlsearch "关闭高亮搜索
nohl "只取消掉当前的搜索高亮

gcc -Wall (查看waring) -S(查看程序汇编指令)

这是签名?
原文地址:https://www.cnblogs.com/Lelpuchcr/p/3032840.html