<commit_before>## Vim 学习

Vim学习路线十分陡峭
需要分步骤学习

+ 存活
+ 感觉良好
+ 觉得更好，更强，更快
+ 使用VIM的超能力


警告：
开始学习vim是痛苦的

> 通过i命令切换insert模式，通过esc切换成visual模式

以下命令可以在vim visual模式存活下来


+ h:左 l:右
+ j:下 k:上
+ x:删除当前光标所在的一个字符
+ :wq 保存退出，（:w 存盘 + q退出) (:w 后面可以跟文件名) 
+ dd 删除当前行，并把内容放入剪贴板里
+ p 粘贴剪贴板，
+ o 在光标所在行下插入新的一行
+ O 在光标所在行之上插入新的一行<commit_msg>chore:add the upper P command<commit_after>## Vim 学习

Vim学习路线十分陡峭
需要分步骤学习

+ 存活
+ 感觉良好
+ 觉得更好，更强，更快
+ 使用VIM的超能力


警告：
开始学习vim是痛苦的

> 通过i命令切换insert模式，通过esc切换成visual模式

以下命令可以在vim visual模式存活下来


+ h:左 l:右
+ j:下 k:上
+ x:删除当前光标所在的一个字符
+ :wq 保存退出，（:w 存盘 + q退出) (:w 后面可以跟文件名) 
+ dd 删除当前行，并把内容放入剪贴板里
+ p 在当前光标下粘贴剪贴板内容
+ P 在当前光标上粘贴剪贴板内容
+ o 在光标所在行下插入新的一行
+ O 在光标所在行之上插入新的一行
{'fraction_non_alphanumeric': 0.11175616835994194, 'fraction_numerical': 0.0, 'mean_word_length': 4.8474576271186445, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4783641', 'n_tokens_mistral': 590, 'n_tokens_neox': 650, 'n_words': 71}