VScode+vim

vim的安装

vim设计哲学

vim模式

普通模式进入插入模式

① i/I光标前/行首前
② o/O打开一行,下一行/上一行插入
③ a/A光标后插入/行尾插入

普通模式进入可视模式

v: 进入可是模式,再次v进入普通模式

普通模式进入命令模式

: 普通模式进入命令模式
esc: 命令模式进入普通模式
jj: 插入模式进入普通模式

光标移动

普通模式下的移动

左上下右移动

h: 左
j: 上
k: 下
l: 右

单词的移动

VScode+vim

w: 跳到下一个单词开头 word
e: 跳到单词或者下一个单词结尾 end
b: 跳到单词或者上一个单词开头 before
ge: 跳到上一个单词结尾 ge

全文的跳转

^: 从首开行始跳到第一个非空字符
0: 跳到行首
$: 跳到行尾
gg: 跳到第一行
G: 调到最后一行

num+j/k: 向上或者向下n行

行的移动

alt + 上下箭头

字符的跳转

VScode+vim

f {char}: 向下查找一个char字符
F {char}: 向上查找一个char字符
t {char}: 跳到下一个字符char的前一个字符位置
T {char}: 跳到上一个字符char的后一个字符位置
; : 重复上一次的字符查找操作
, : 反向查找上一次的查找命令

操作符

VScode+vim

d:delete-删除 dd 直接删除一行
c: change-修改 cc 删除一行并进行编辑状态
y: yank-复制 yy 复制p粘贴

p: -粘贴
u: 撤销
v: visual-选中并进入visual模式

动作 motion

VScode+vim

i(inner)和a(around)的区别
i": "foo"会选中""引号里面的foo ---- a":"foo"会选中"foo"
iw: foo会选中一个单词 ---- aw: foo会选中单词以及单词前面的一个空格
i(: (foo)会选中括号里面的单词 ---- a(: (foo)会选中括弧以及括弧里面的单词

VScode+vim

操作符和动作的结合

ciw: 修改里面的单词,删除里面的单词进入插入模式
ciyyp: 修改里面的单词复制黏贴
删除泛型:di<,da<

  // TODO 1.修改 Hello World ciw
  name: 'Hello World',
  // TODO 2.修改 ci<  删除da</di<
  age: age<number>,
  // TODO 3.删除返回值 di{ 或者 diB, yi{ 复制大括弧中 
  demo: {
    flag: true,
    a: 0,
    b: 7
  },
  flag: true,
  a: 0,
  b: 7,
  // TODO 4.删除括弧 di( 或者dib   [b代表了小括弧]
  foo: function() {
    console.log('foo')
  },
  //TODO 5.删除两行 2dd 

  //TODO 6.删除到,修改到,复制到 操作符[d/c/y] + f char [p]
  namespace: 'namespace',
  //TODO 7.删除到,修改到,复制到开头或者结尾  操作符 + f + ^ $
  renderFunction: () => {

  },
  // TODO 8.删除,修改,复制整个文件 die cie yie
  // TODO 9.删除,修改,复制标签 dit[删除标签内部的内容] cit fit

切换大小写

~ 光标下的字母改变大小写
3~ 光标位置开始的3个字母改变其大小写
g~~ 改变当前行字母大小写
gUU 将当前行的字母改成大写
guu 将当前行的字母改成小写
gUaw(gUiw) 将光标下的单词改成大写
guaw(guiw) 将光标下的单词改成小写

可视模式选中情况下U 会转换成大写 u 会转换成小写

tips函数的跳转

gd: 函数的跳转 go to defined
ctr+o 退出到原先的函数位置
gh: 光标悬浮提示 go hover

编辑器的切换

gt/gT: 编辑器tabs跳转
2gt/2gT: 跳到指定的位置

ctr+0/1/2/...: 跳转到左侧区域 [hjkl] [空格可折叠,打开] [o打开,光标并未进入,l光标可进入编辑区域]

左侧文件操作

ctr+0 上下选择,空格折叠打开文件,ctr+shift+P新建文件

其他操作

缩进:v+选中 shift <[左移]/>[右移]

上一篇:Vue06-计算属性、内容分发、自定义事件


下一篇:Pycharm TODO(待办)功能