zoukankan      html  css  js  c++  java
  • vim学习笔记(1)——vim操作

    仅记录一些自己最经常使用的vim操作。随时更新

    文本操作

    • d 剪切。双击剪切一行
    • y 复制,双击复制一行
    • p 粘贴

    • x 删除当前光标下字符

    • r 替换当前光标字符。后面接替换的字符

    • :s/old/new/g 全局替换old为new

    移动

    • 0 移动到开头
    • $ 移动到结尾
    • w 移动到下一个单词开头
    • e 移动到下一个单词结尾

    • fx 移动到本行之后第一个出现x字母的位置

    • tx 移动到本行之后第一个出现x字母的前一个位置

    • gg 跳到文件首

    • G 跳到文件尾
    • NG 移动到第N行,或者用:N也可

    • { 上一段。}下一段

    • % 跳到匹配的括号处

    • ctrl+o 上一个位置

    • ctrl+i 下一个位置

    文本移动和操作相互配合使用。比方d$+enter删除到行末,dw删除至下一个单词,2dd删除接下来两行

    也能够和数字相互使用,比方y+enter5,复制下面5行,:1,20d+enter删除1~20行

    模式切换

    插入模式

    • i 进入插入模式。当前插入光标位置插入
    • a 进入插入模式,下一个光标位置插入
    • o 进入插入模式,在当前行下一行插入
    • O 进入插入模式。在当前行上一行插入

    可配置vim成鼠标光标定位模式

    可视化模式

    • :v 进入可视化模式

    替换模式

    • :R 进入替换模式

    使用外部命令

    • :! 在!后加入外部命令

    查找

    • :/ 在/后加入要查找的内容

    进入查找时。按n查找下一个,N查找上一个

    文件操作

    保存文件

    • :w 保存
    • :saveas filename 另存为

    退出

    • :q

    保存退出vim

    vim中保存退出:x和:wq的差别。例如以下:
    :wq和ZZ 强制性写入文件并退出(存盘并退出 write%quite)。即使文件没有被改动也强制写入。并更新文件的改动时间。
    :x 写入文件并退出。仅当文件被改动时才写入,并更新文件改动时间。否则不会更新文件改动时间。

    这两者普通情况下没什么不一样,可是在编程方面,对编辑源文件可能会产生重要影响。由于文件即使没有改动,”:wq”强制更新文件的改动时间。这样会让make编译整个项目时以为文件被改动过了。然后就得又一次编译链接生成可运行文件。

    这可能会产生让人误解的后果。当然也产生了不必要的系统资源花销。

    操作回退和重做

    • u 撤销上一个改动
    • U 撤销本行所做的改动过
    • ctrl+r 重做操作

    其它

    • ctrl+g 显示当前文件信息
    • ctrl+d 补全命令

    參考资料:

  • 相关阅读:
    该死的兼容性
    Tip:解决DesignMode不能正确反应是否处于设计模式的问题
    Oh, ListView里竟然什么也不显示,也不报错!
    Tip: Dock is better than Anchor
    Tip: Asp.net下载默认文件名里包含空格时,如何防止FireFox只截取空格前一部分作为文件名
    c#的DateTime.Now函数详解
    C#中的委托和事件(初稿)
    C#多线程学习
    .NET(c#)new关键字的三种用法
    Silverlight – WCF – MaxItemsInObjectGraph
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7134289.html
Copyright © 2011-2022 走看看