Vim使用方法


Awwwwww 😃

  • demo - 这是markdowm的示例,没事就看看。
  • powervim - vim和PowerVim.

以下是关于使用vim和Powervim的一些技巧,熟能生巧,加油!

vim中的复制/移动/删除

方法1:复制或者移动一些行

  • :17,33 copy 35 或者 :17,33 co 35
  • :17,33 move35 或者 :17,33 m 35

方法2:全选复制或者删除

  • 全部删除:按esc后,然后dG
  • 全部复制:按esc后,然后ggyG
  • 全选高亮显示:按esc后,然后ggvG或者ggVG

方法3:删除

  • 删除光标所指的这一行:dd
  • 删除光标之下的n行:ndd
  • 删除光标之后的这行字符:D 或者 dw
  • 删除两行:d+回车

行首行尾,第一行,末行

  • 行首:数字0 或者 shift+^6 即 ‘^’符号 或者 Home键
  • 行尾:shift+$4 即 ‘$’符号 或者 End键 ,$前面可以加行数
  • 第一行:gg 或者 :0+回车
  • 最后一行:shift+g 或者 G 或者 :$+回车

查找和替换

查找目标词

  • normal模式下按下 / 即可进入查找模式,输入要查找的字符串并按下回车
  • vim 会转跳到第一个匹配的
  • 之后按n查找下一个,按N查找上一个
  • 注意:查找回车应当用\n,而替换为回车应当用\r
  • 大小写敏感
    • 大小写不敏感查找 \小c
      /myListNode\c
    • 大小写敏感查找 \大C
      /myListNode\C

查找光标所在的词

normal模式下按下 * 即可查找光标所在单词(word), 要求每次出现的前后为空白字符或标点符号。
这对变量查找非常有用。

替换 substitute

语法为
:{作用范围}s/{目标}/{替换}/{替换标志}

作用范围说明

作用范围可以大致分为当前行,全文,希望选中的区域
当前行
:s
全文
:%s
比如说想要在第2-7行中操作,作用范围设为
:2,12s
当前行与接下来两行
:.,2s
选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :'<,'>
:'<,'>s

替换标志说明

比如说可能有全局替换,替换匹配的第一个,大小写敏感,替换前确认...

  • 默认空替换标志,表示只替换从光标开始目标的第一次出现
    :%s/foo/bar
  • 大小写敏感(不敏感)/i or /I
:%s/foo/bar/i
# 等效于模式中的 \c(不敏感)或\C(敏感)
:%s/foo\c/bar
  • 替换前确认 用 /c

例如全局查找"index"替换为"Index"并且需要确认:

:%s/index/Index/gc

按下回车后Vim会将光标移动到每一次"index"出现的位置,并提示

replace with Index (y/n/a/q/l/^E/^Y)?

符号解释:

  • y表示替换
  • n表示不替换
  • a表示替换所有
  • q表示退出查找模式
  • l表示替换当前位置并退出
  • E和L是光标移动快捷键 ???

Vim 的 visual mode 使用

三种可视化模式

  • 按下 v 进入字符可视化模式,即文本选择是以字符为单位的。

  • 按下 V 进入行可视化模式,即文本选择是以行为单位的。

  • 按下 ctrl + v 进入块可视化模式, 按键j/k/h/l进行选中多行多列,一个矩形内的文本

多行缩进或者缩出

  • 在一行上,">>",或"<<"(连按两下),可以缩进或缩出,用"n>>","n<<"(n自然数),表示自动缩进从当前行起的下面n行。
  • 在visual mode下选中多行,用“>或<”,进行缩进或缩出
  • 或者使用命令
:起始行,终止行 < ”

例如 :112,119 > 表示112到119行向右缩进一个tab。

自动缩进排版代码

  • 对全文 gg=G
  • 对光标所在行 ==
  • 对多行 n==

多行注释

添加多行注释步骤

  1. 首先按esc进入命令行模式下,按下 Ctrl + v,进入块模式;
  2. 按0键光标移动到行首后, 选择需要注释的多行;
  3. 按下键盘(大写)“I” - input键,进入插入模式;
  4. 然后输入注释符(“//”、“#”等);
  5. 最后按下“Esc”键。(p.s.在按下esc键后,会稍等一会才会出现注释)

删除多行注释步骤

  1. 首先按esc进入命令行模式下,按下 Ctrl + v, 进入块模式;
  2. 按0键光标移动到行首,选择要取消注释的多行;
  3. 按下“d”。
    p.s. 如果是“//”注释,需要执行两次该(删除多行注释步骤)操作,如果是“#”注释,一次即可

撤销上一步操作

u

posted @ 2022-04-24 15:47  PiaYie  阅读(85)  评论(0编辑  收藏  举报