Vim
Intro: How to learn vim
工具是拿来用的,不要让它成为一个负担!
可以利用
XShell或是vscode进行练习vim是vi的加强版(升级版),是一个编辑器,不仅兼容vi的所有指令,而且还有一些新的特性在里面
Four Steps
- Survive
- Feel Comfortable
- Better, Stronger, Faster
- SuperPower
Linux中打开文件
vi [filename]
vim [filename]模式切换
正常模式
一般用于浏览文件,也包括一些复制、粘贴、删除等操作。启动vim后默认位于正常模式。不论位于什么模式下,
Esc键按两下都会进入正常模式输入模式
正常模式下
i,I,a,A等,会进入插入模式命令模式
正常模式下,按下
:键,会进入命令模式。可执行一些输入并执行一些vim或插件提供的指令,就像shell一样可视模式
正常模式下按下
v V ctrl+v可以进入可视模式,选择文本
各种命令操作
正常模式下
dd删除当前行,并把删除的行存到剪贴板里,有复制的功能y复制选中的内容yy复制一行p粘贴剪贴板的内容0光标移动到行头$光标移动到本行行尾^到该行第一个非空字符处 (Shift+6)g_到该行最后一个非空字符处/pattern查找对应的文字, 按Enter键结束, 上下选择按n、Nu撤销到上一步Ctrl+r重新操作上一步,redoa在光标末尾追加插入A在行尾追加插入gg回到页头G到文件结束 (Shift+g)h左移j下移k上移l右移HMove to top of screenMMove to middle of screenLMove to bottom of screen%Move to associate {} () []w下一个单词WMove to next blank delimited wordb移到单词最左边BMove to the beginning of blank delimited wordx删除光标下面的字符o在当前行下面插入新的一行O在当前行之前插入新的一行cw替换当前光标到单词末尾Ctrl + f下一页Ctrl + b上一页zz让光标所在的行居屏幕中央zt让光标所在的行居屏幕最上一行zb让光标所在的行居屏幕最下一行w/b/e单词移动W/B/E单词移动(更快).重复执行上一条命令f/F:查询 f+(想查询的单词)v+i+大括号/中括号/单引号/双引号选中括号、引号里的内容。v+a+大括号/中括号/单引号/双引号选中括号、引号里的内容(包含括号)。(Move a sentence back)Move a sentence forward{Move a paragraph back}Move a paragraph forward全选操作: ggvG
全部复制: ggyG
全部删除: dG
repeat Yourself:
2dd、3p、100idesu [Esc]、.、3.NG这里的N是指行数,跳到第几行%跳到括号那里*跳到下一个相同word处0y$复制整行,这里y的功能可类比到dvgUgu多行操作:
ctrl+v jjj shift+i
输入模式下
- 跟普通的输入文字是一样的
命令模式下
:n跳到第几页:wq:xZZ保存并退出:q!强制退出,不保存:w保存:e打开文件:saveas另存为- 替换全局所有
:%s/aaa/bbb/g - 替换第一行
:s/aaa/bbb/,:s/aaa/bbb/g
可视模式下
ctrl+s让vim处于不可输入的状态, 这个时候Ctrl + q可以退出
