gnosis23 / hello-world-blog

还是 issues 里面写文章方便
https://bohao.work
0 stars 0 forks source link

键盘侠训练 #113

Open gnosis23 opened 2 years ago

gnosis23 commented 2 years ago

当前的 .ideavim 配置有:

set incsearch
set surround

" keymaps
nnoremap H ^
nnoremap L g_
nnoremap J 5j
nnoremap K 5k
onoremap H ^
onoremap L g_

let mapleader=","

第一天

学习了 vim 常规按键(jkhlia)和基础知识

学了几个 vim 的实用技巧:

gnosis23 commented 2 years ago

第二天

今天讲了行相关技巧,比如:

快捷键有时候不是很顺手,vim也支持修改快捷键

自定义快捷键

VSCode

{
  "vim.normalModeKeyBindings": [
        {
            "before": ["H"],
            "after": ["^"]
        },
        {
            "before": ["L"],
            "after": ["g", "_"]
        }
    ],
}

vimrc

研究了下vimrc里面怎么改快捷键

nnoremap H ^
nnoremap L g_

nnoremap意思是在 normal 模式下自定义按键

gnosis23 commented 2 years ago

第三天

今天继续 vim 练习

vim语法:操作(operator)+ 移动区域,比如 d+wd+0d+g+_

常用操作:

常用移动区域:

常用组合

例举一些平时会用到的常用组合:

自定义快捷键

VSCode

{
  "vim.operatorPendingModeKeyBindings": [
        {
            "before": ["H"],
            "after": ["^"]
        },
        {
            "before": ["L"],
            "after": ["g", "_"]
        }
    ],
}

vimrc

onoremap H ^
onoremap L g_

onoremap表示在输入完操作后等待时间按键绑定

gnosis23 commented 2 years ago

第四天

今天是一些针对单词的操作:

S键挺方便,平时都是dd+O来做 C-r也没用过,前两天还碰到了u直接把所有输入都撤销的问题,正好可以解决问题

补充几个大写操作

gnosis23 commented 2 years ago

番外

搜索操作

搜索单个字符

使用 f{char} 搜索字符,; 重复搜索下一个,, 返回上一个

比如下面的文本,使用 f+ 搜索 + 号,; 搜索下一个

var str = "hello"+"world"+"!"+"abc";

类似的还要 t{char}

搜索字符串

替换

:s/target/replacement, &u

录制

qx{changes}q: @xu

重复操作

使用 '.' 重复上一次操作

gnosis23 commented 2 years ago

第五天

今天的主题是可视化模式,有几种进入方法:

在可视化模式里可以按 o 和 O 来移动到开始和结束

在可视化模式里可以按 A 和 I 来批量写入文本

gnosis23 commented 2 years ago

第六天

今天的主题是文本对象 text objects,这是一系列用于可视化模式或操作后的命令,使用 :h text-objects 来查询文档。

文本对象由 a 或者 i 开头,后面跟一个范围,比如:

合并起来的操作:

gnosis23 commented 2 years ago

第七天

今天的主题是文件快速跳转,几个实用的快捷键:

gnosis23 commented 2 years ago

第八天

今天的主题是快速移动

行搜索

tips:移动用f,编辑用t

文件搜索

tips: 操作后可以接搜索

单词搜索

可以当成函数跳转

gnosis23 commented 2 years ago

第九天

今天学了下 vim-easymotion 、vim-sneak 插件

easymotion

修改 leader 按键

let mapleader=","

sneak

gnosis23 commented 2 years ago

第十天

gnosis23 commented 2 years ago

第十一天

标记

定义跳转

跳转

gnosis23 commented 2 years ago

第十二天

今天的主題是vim-surround:

其他组合

vimrc

set surround
gnosis23 commented 2 years ago

第十三天

今天的主题是替换:

gb

gnosis23 commented 2 years ago

VSCode文件操作

默认命令: