36.Vim笔记
1、简介
$vim [filename]
vim有三种操作模式,分别称为编辑模式、插入模式和命令模式
2、编辑模式
vim编辑模式的主要用途是在被编辑的文件中移动光标的位置。一旦光标移动到所要的位置,就可以进行剪切和粘贴正文,删除正文和插入新的正文。
3、跳转
k 上移
j 下移
h 左移
l 右移
ctrl + f 在文件中前移一页【page down】
ctrl + b 在文件中后移一页【page up】
更大范围的移动:
*        当光标停留在一个单词上,*键会在文件内搜索该单词,并跳转到下一处
#        当光标停留在一个单词上 ,#在文件内搜索该单词,该跳转到上一处
(/)      移动到 前 / 后 句的开始
{/}      移动到 当前 / 下一个段落开始
g_       到本行最后一个不是blank 字符的位置
fa       到下一个a的字符处,你也可以fs到下一个为s的字符
t,      到逗号前的第一个字符。逗号可以变成其他字符
3fa      在当前行查找第三个出现的a
F/T      和 f 和 t 一样,只不过是相反方向
gg       将光标定位到文件第一行起始位置
G        将光标定位的文件最后一行
NG或Ngg  将光标定位到第 N 行的起始位置
【上面的笔记忽略吧,相当于一本字典】
第一阶段:存活
x        -> 删除当前光标所在的一个字符
:wq      -> 存盘 + 退出 (:w 存盘,:q 退出)  :w后可以跟文件名
dd       -> 删除当前行,并把删除的行存到剪切板里
p        -> 粘贴剪切板
推荐:
· hjkl 使用这四个作为移动光标的按键
· :help 
第二阶段:感觉良好
1、各种插入模式
·a          -> 在光标后插入
·o          -> 在当前行后插入一个新行
·O(大写O)   -> 在当前行前插入一个新行
·cw         -> 替换从光标所在位置后到一个单词结尾的字符
2、简单的移动光标
·0(数字0)   -> 数字零,到行头
·^          -> 到本行第一个不是blank字符的位置(所谓的blank就是空格,tab,回车,换行)
·$          -> 到本行行尾
·g_         -> 到本行最后一个不为blank字符的位置
·/pattern   -> 搜索pattern的字符串(如果搜索出多个匹配,可以按 n 键到下一个)
3、复制和粘贴(p/P都是可以的,p表示当前位置之后,P表示当前位置之前)
·p          -> 粘贴
·yy         -> 复制当前行
4、Undo、Redo
·u          -> 撤销上一步
·ctrl + r   -> 撤销上一步的撤销
5、打开、保存、退出、改变文件
·:e <path/to/file>   -> 打开一个文件
·:w                  -> 存盘
·:saveas <path/to/file>   ->  另存为<path/to/file>
·:x, ZZ或:wq         -> 保存并退出
·:q!  -> 退出不保存; :qa!强行退出所有的正在编辑的文件,就算别的文件有所更改。
·:bn 和 :bp          -> 你可以同时打开打开很多文件,使用这两个命令切换下一个或上一个文件
第三阶段,更好,更强,更快
1、更好
·.     -> (小数点)重复上一次
·N
栗子
2dd   -> 删除2行
3p    -> 粘贴3次
2、更强
【接下来这个可以极大的提高工作效率】
· NG   ->  到第N行 (其实可以直接使用:N,然后到达第几行)
· gg   ->  到达第一行   相当于1G   或  :1
· G    ->  到达最后一行
· 按单词移动
w   -> 到下一个单词的开头
e   -> 到下一个单词的结尾
(注释:
> 如果你认为单词是由默认方式,那就用小写的w和e。默认下一个单词由字母,数字和下划线组成的
> 如果你认为单词是有blank字符分隔符,那么就是使用大写 W 和 E
)
【最强移动光标】:
· %         -> 匹配括号移动,包含(,{,[
· * 和 #    -> 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
3、更快
·你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令联动,很多命令都可以根据如下:
例如:0y$命令意味着
·0    -> 先到行头
·y    -> 从这里开始拷贝
·$    -> 拷贝到本行最后一个字符
也可以试试ye,从当前位置拷贝到本单词的最后一个字符
也可以试试输入y2/foo来拷贝2个‘foo’之间的字符串
·d(删除)
·v(可视化的选择)
·gU(变大写)
·gu(变小写)
·等等
(标注:可视化选择-> 先按v,然后移动光标,你应该看到文本被选择,然后,可以使用d,y,)
第四阶段:vim超能力
1、【在当前行上移动光标:0 ^ $ f F t T , ; 】
0       -> 到行头
^       -> 到本行的第一个非blank字符
$       -> 到行尾
g_      -> 到本行最后一个不是blank字符的位置
fa      -> 到下一个为a的字符处,你也可以fs到下一个为s的字符
t,      -> 到逗号前的第一个字符。逗号可以变成其他字符
T,      -> 到逗号后的第一个字符。
3fa     -> 查找第三个出现的a
F 和 T  -> 和f和t一样,只不过是相反方向
dt -> 删除所有内容 !!!!!!!!!!!! 慎用
2、区域选择
                    
                
                
            
        
浙公网安备 33010602011771号