美文网首页
VSCode 中 Vim 的常用操作

VSCode 中 Vim 的常用操作

作者: 前端程序猿 | 来源:发表于2020-05-31 00:13 被阅读0次

Vim 常用的四种模式

  • normal(普通) 模式
  • insert(编辑) 模式
  • visual(可视) 模式
  • command(命令) 模式

默认使用 normal 模式,大部分情况是在浏览而不是在编辑, 在normal 模式下可以进行各种命令操作和移动

进入 insert 模式

在 normal 模式下,使用以下命令进入 insert 模式

i (inser before char) 在当前字符前插入
I (insert before line) 在行首插入

a (insert after char) 在当前字符后插入
A (insert after line) 在行尾插入

o (insert below line) 在下一行插入
O (insert above line) 在上一行插入

s 删除当前字符并进入插入模式
S 删除当前行并进入插入模式

c 删除匹配的字符并进入插入模式
C 删除当前字符到行尾的字符,并进入插入模式

gi 跳转到上一次编辑的位置,进入插入模式

insert 模式下的小技巧

  • ctrl + h 删除上一个字符,相当于退格键
  • ctrl + w 删除上一个单词
  • ctrl + u 删除到行首
  • ctrl + [ 回到 normal 模式,相当于 esc

Command 模式的常用操作

在 normal 模式下,使用 : 进入命令模式

保存退出

  • :w write, 保存
  • :q quit 退出文件

分割窗口

  • :sp split 水平分屏 快捷键 ctrl + w s
  • :vs vertical split 垂直分屏 ctrl + w v

在分割的窗口间跳转

  • ctrl + w w 在窗口间循环切换
  • ctrl + w h 切换到左边的窗口
  • ctrl + w j 切换到下边的窗口
  • ctrl + w k 切换到上边的窗口
  • ctrl + w l 切换到右边的窗口

替换

  • :%s/pattern/string/g 全局替换
  • :%s/\<pattern\>/string/g 精确匹配全局替换
  • %10,20s/pattern/string/g 指定范围替换

多文件操作

  • :e {filename} 打开当前目录的其它文件
  • ctrl + p 打开文件
  • tabNext 切换到下一个打开的文件
  • tabPrevious 切换到上一个打开的文件
  • tabOnly 除了当前文件,关闭其它打开的文件
  • ctrl + f4 关闭当前打开文件

进入 visual 模式

  • v 进入可视模式
  • V 进入可视模式,行选择
  • ctrl + v 进入可视模式, 块选择

normal 模式快速移动

按字符移动

  • h 向左移动一个字符
  • j 向下移动一行
  • k 向上移动一行
  • l 向右移动一行

行间搜索移动

  • f{char} 移动到当前行的 {char} 字符上
  • t{char} 移动到当前行的 {char} 字符前
  • F{char} 反向移动到当前行的 {char} 字符上
  • T{char} 反向移动到当前行的 {char} 字符前
  • ; 行间搜索的以一个匹配项
  • , 行间搜索的上一个匹配项

水平移动

  • 0 移动到行首的第一个字符
  • ^ 移动到行首的第一个非空字符
  • $ 移动到行尾
  • g_ 移动到行尾非空白字符

垂直移动

  • ( 移动到上一个句子
  • ) 移动到下一个句子
  • { 移动到上一个段落
  • } 移动到下一个段落

页面移动

  • gg 跳转到页面开头
  • G 跳转到页面结尾
  • ctrl + o 跳转到上一个位置

屏幕中移动

  • H 跳转到屏幕开头
  • M 跳转到屏幕中间
  • L 跳转到屏幕结尾

翻页

  • ctrl + u 向上翻页
  • ctrl + f 向下翻页
  • zz 当前位置置为屏幕中间

操作文本块-text object

操作文本块的格式
[number]<command>[text object]

文本对象常用到的两个语义化命令

  • i inner 如: ciw 删除一个单词不包含单词周围的空白字符,并进入insert模式
  • a around 如 daw 删除一个单词包括单词周围的空白字符
4diw #删除四个单词
vaw # 选择一个单词,包括单词左右的空白字符,并进入 visual  模式
ci{ # 删除 {} 中的文本,并进入 insert 模式
ci( # 删除 () 中的文本,并进入 insert 模式

查询

  • /{string} 前向搜索
  • ?{string} 反向搜索
  • n 跳转到下一个匹配
  • N 跳转到上一个匹配

使用宏完成批量操作

  • q{register} 指定寄存器,开始录制操作
  • q 完成录制
  • @{register} 在选择的区域执行录制的操作

寄存器的使用

normal 模式下的复制、剪切、粘贴

  • y yank 复制
  • d delete 剪切
  • p put 粘贴

复制,剪切的内容默认都存放在 无名寄存器中 即:""
因此,p 相当于 ""p

在复制或剪切前可指定到自定义的寄存器中

  • "adiw 在寄存器a中存放删除的单词
  • "ap 粘贴寄存器a中的内容
  • "+dd 删除一行,并将删除的内容存放到系统剪贴板中,寄存器+ 代表系统剪贴板

在insert 模式下,可通过 shift + insert将系统剪贴板的内容粘贴到文件中

相关文章

  • VSCode 中 Vim 的常用操作

    Vim 常用的四种模式 normal(普通) 模式 insert(编辑) 模式 visual(可视) 模式 com...

  • vscode 使用技巧

    之前笔者写过几篇关于vscode的文章 鱼和熊掌:VSCode+Vim , VSCode Vim进阶操作,VSC...

  • vscode + vim +markdown

    vscode + vim +markdown vscode直接安装,免费 vim:通过安装vscode插件 vim...

  • 共享代码目录,弃用vscode中的vim,代码编辑使用pycha

    我之前使用vim已经很长时间了,但是在使用vscode的过程中我发现code的vim插件的对vim很多操作根本就是...

  • Vim 常用操作

    我们在使用 git 的过程中会经常遇到 Vim 的操作,现将常用操作总结一下。 一、关于 Vim 在 git 中输...

  • VSCode Vim进阶操作

    -----------updated 2019-1-30------------ 近期笔者发现VSCode在vim...

  • git常用命令

    初始配置 常用命令 git操作原则 vim基本操作

  • 二阶段day13-vim命令和文件权限操作

    vim常用操作命令集锦 http://www.runoob.com/linux/linux-vim.html

  • VIM常用操作

    摘录自互联网,给自己用 记住几个常用含义: 0代表行首 $代表行尾 d删除 w word一个单词 y 复制 p 粘...

  • vim常用操作

    vim是什么?听说它是编辑器之神!神一样的存在,而我却经常用上下左右箭头来移动光标,实在是有点对不起它,所以想着稍...

网友评论

      本文标题:VSCode 中 Vim 的常用操作

      本文链接:https://www.haomeiwen.com/subject/zjwkzhtx.html