zoukankan      html  css  js  c++  java
  • Vim 常用规则和命令

    可以多参考 vim/gvim 有哪些实用技巧?vim cheatsheets

    【vim 状态切换】

    • Esc = Ctrl + [ # 切换到普通模式

    【vim 移动】(来自 Vimtutor)

    • h j k l 方向键
    • CTRL + F/B 上一页/下一页
    • CTRL + U/D 上移/下移半屏
    • shift-6 (^) 移动到行首第一个非空字符
    • 数字 0 移动到本行开头
    • shift-4 ($) 移动到行尾
    • W (shift-W) (向右)移动到下一个单词
    • B (shift-B) (像左)移动到上一个单词
    • gg 跳到页面文件开头
    • G 跳到文件末尾

    【Vim 操纵文本】

    • r 替换 (R 进入替换模式,此时只有键盘有用,直到 Esc 退出)
    • c 改写
    • x 删除(实际是剪切)。 x 在删去的同时,会覆盖掉剪切板的内容,例如:先用 yy 复制了一部分内容,然后切换到粘贴的地方,用 x 删去不要的内容,再用 p 粘贴,会导致先前复制内容丢失
    • yy 复制一行
    • yw, yW, yiw, yiW 复制一部分
    • dd 剪切一行
    • dw, dW, diw, diW
    • dG 删除当前行及后面所有行 (或者使用命令行模式 : , $ d
    • dgg 删除当前行及前面所有行 (或者使用命令行模式 : 1, d
    • p 粘贴
    • u 撤销上一次操作
    • ctrl + r 重做上次操作
    • 合并上下两行: shift + j (在上行使用, 等价于 大 J )
    • 合并 10-20 行::10,20 j 参考

    【vim visual 可视模式】https://www.cnblogs.com/hangaozu/p/7544325.html

    • 在 visual(v) 模式下, 可以使用光标选中部分字符,然后进行复制(y), 粘贴(p), 但复制的内容似乎仅仅是一次性的,只能粘贴一次。
    • 使用 ctrl + v 可以打开 block 块选中可视模式,便于更多的操作,例如可以进行多行注释。

    【vim 搜索文本功能】:https://www.jianshu.com/p/bdc1f7e689b3

    • / 开启搜索
    • . 其中 代表转义符。在搜索 query 中,避免 . 被转义为匹配符,可以使用 .,其中 是转义字符,例如搜索: 85.5
    • n or N 向上 or 向下搜索
    • :set hlsearch 语法高亮 highlight search 结果 (也可以在 ~/.vimrc 里面写一行 set hlsearch, 不需要 :)

    【vim 文本替换功能】:(来自 《Linux命令行大全》chapter 12)

    • :%s/aaa/bbb/g 将 aaa 替换为 bbb
    • s 代表替换功能
    • % 代表全部行, 也可以使用起始行号和结束行号来圈定范围,1,5s/aaa/bbb/g
    • g 代表 global, gc 则会在每次替换前询问用户确认

    【vim 普通模式下】:(https://blog.csdn.net/HappyCodeFly/article/details/86684297)

    • q / 查看使用/输入的搜索历史
    • q ? 查看使用?输入的搜索历史
    • q : 查看命令行历史 (常常会被误按,按一下回车键即可回复原状)

    【shell 脚本中出现了 windows 的换行符导致出错】https://www.cnblogs.com/ericfengk/p/11972497.html

    • 例如:(run.sh 通过 腾讯文档 粘贴转过来的)

    • 使用 vim -b file.sh 会显示每一行后面多了一个 ^M

    • 使用 blog 中解决方法办法修复:

      方式一:dos2unix
      下载并安装dos2unix
      利用命令“dos2unix [filename]”完成转换
      
      方式二:替换(vim+正则表达式)
      利用命令“vim -b [filename]”打开该文件
      在命令模式下输入:“%s/^M//g”或者“g/^M/s/^M//” 保存并退出
      也可以自己直接逐个手动删去符号 ^M。
      

    【vim 多行注释功能】https://blog.csdn.net/step_ma/article/details/76474864
    在使用 vim 编辑器时,有时候需要对多行代码进行加注释或去注释,它不像我们在类似于 vs code 等下可以使用快捷键操作,而需要我们自己输入命令操作,下面将介绍两种方法。

    • 方法一:块选择模式
    1. 插入注释
      (1)首先按键盘上的 ESC 进入命令行模式
      (2)再按 Ctrl+V 进入 VISUAL BLOCK 模式
      (3)利用上下左右键调整需要注释多少行以及行的宽度
      (4)再按 Shift+i(大写的 I) 或 s 进入插入模式
      (5)输入代表注释的符号,比如 #
      (6)再次按 ESC 键,这时就可完成多行注释(可能需要等上一会,不要着急)

    2. 去注释
      前三步与加注释相同。
      (1)首先按键盘上的 ESC 进入命令行模式
      (2)再按 Ctrl+V 进入 VISUAL BLOCK 模式
      (3)利用上下左右键调整需要去注释多少行以及行的宽度
      (4)再按 d 删去注释字符,即可完成去注释

    • 方法二:替换命令
    1. 插入注释
      (1)首先按键盘上的 ESC 进入命令行模式
      (2)再在底行输入以下命令
      :起始行号,结束行号s/^/注释符/g
      底行显示的是一共有几行插入了注释

    2. 去注释
      (1)首先按键盘上的 ESC 进入命令行模式
      (2)再在底行输入以下命令
      :起始行号, 结束行号s/^注释符//g
      去除注释之后底行显示的是共去除了几行注释

  • 相关阅读:
    [Codeforces Round #516][Codeforces 1063C/1064E. Dwarves, Hats and Extrasensory Abilities]
    接入gitment为hexo添加评论功能
    常用SQL语句
    小米前端二面面经
    将hexo的评论系统由gitment改为Valine
    同步与异步
    前端构建工具对比
    前端向后台发送请求有哪些方式
    关于hexo markdown添加的图片在github page中无法显示的问题
    使用TensorBoard可视化工具
  • 原文地址:https://www.cnblogs.com/Gelthin2017/p/12853619.html
Copyright © 2011-2022 走看看