常用操作总结:
操作方法是:
vim file
ctrl+v 进入选择模式,选择要操作的行;选好后,输入大写I,光标自然会跳到所选择的行的第一行的行首,并进入insert模式,可以输入你想要插入的内容;
输入完你想要插入的内容后下Esc键,则你会发现刚刚你选择的行的行首都已经插入了你想要插入的内容;
具体的如下:
一、可视模式
进入可视模式种方法:v,V,CTRL+V,都是选择光标经过的地方进行返白选择。(常用,配合上下左右键,进行区域选择,很爽!!!)
(1)按v启用可视模式,可以按单个字符选择内容,移动光标可以择。
(2)按V启用可视模式,立刻选中光标所在行,按单行符选择内容,移动光标可以选择。
(3)按CTRL+V启用可视中的列块模式,可以在列方向上选择单个字符,移动光标可以选择;可以在这个块的四角进行移动光标,方法就是o,O来切换四个顶点。
y 将反白癿地方复制起来 d 将反白癿地方删除掉
二、列块模式
CTRL+v,启用块可视模式,之后移动鼠标,可以选中某一个矩形块,对于有规律的表格可以用这个功能。
目前当前光标所在的位置是右下角,可以在这个块的四角进行移动光标,方法就是o,O来切换四个顶点。
列块,对多行行首进行统一插入字符#
操作方法是:
vim file
ctrl+v 进入选择模式,选择要操作的行;选好后,输入大写I,光标自然会跳到所选择的行的第一行的行首,并进入insert模式,可以输入你想要插入的内容;
输入完你想要插入的内容后下Esc键,则你会发现刚刚你选择的行的行首都已经插入了你想要插入的内容;
对多行行首进行统一删除字符:
在多行行首插入,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
择完以后下小写d,则删除了刚刚选中的位于多行行首的字符;
多行行首缩进:
在多行行首插入,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
然后下>键(即shift+.),会发现所选择的内容已经向后缩进一个tab,反之选择中以后按下<键(即shift+,),则会向前缩进一个tab
多行行尾插入?/
在多行行尾插入,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
选择好以后按大写的A,则光标会自动跳转到所选择行的第一行的行尾,并会进入insert模式,可以输入你想要插入的内容
输入完你想要插入的内容后下Esc键,则你会发现刚刚你选择的行的行尾都已经插入了你想要插入的内容
实际输入大写的A时,光标并没有自动跳转到第一行的行尾,是跳转到一行的第二个字符的位置,输入内容是插入到第一个字符后面;
多行行尾删除??
在多行行尾删除,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
然后下小写x或者小写d,则删除了刚刚选中的位于多行行尾的字符。
在2~50行首添加//号注释
:2,50 s/^/\/\//g
在2~50行首删除//号
:2,50 s/^\/\///g
复制功能:
CTRL+v,进入列块模式,选中需要复制的内容
“y” 复制内容,4line yanked 说明复制了四行
然后移动光标到行首,“p”在光标的后面一列输入内容,按“P”在光标前面一列输入内容;大小p的区别是黏贴内容的区域是所选择光标的前面还是后面一列;
对字符操作:
x, X 在一行字当中,x 为向后删除一个字符 (相当亍 [del] 按键),X 为向前删除一个字符(相当亍 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。丼例来说,我要连续删除 10 个字符, 『10x』。
d$ 删除游标所在处,到该行行尾的所有字符
d0 删除游标所在处 ,到该行行首的所有字符
对行操作:
dd 删除游标所在的那一整列(常用)
ndd n 为数字。删除光标所在的行向下n行,例如 20dd 则是删除 20行 (常用)
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
移动到行首:gg
移动到行尾 :字符$
小注:命令”G“前可以加上数字,在这里,数字的含义并不是倍数,而是你打算跳转的行号。例如,你想跳转到文件的第1234行,只需输入”1234G“。
上下左右:h, j, k, l
小注:如同许多vim命令一样,可以在这些键前加一个数字,表示移动的倍数。例如,”10j“表示向下移动10行;”10l“表示向右移动10列。
翻页:
小注:通常使用CTRL-B和CTRL-F来进行翻页,它们的功能等同于PageUp和PageDown。CTRL-B和CTRL-F前也可以加上数字,来表示向上或向下翻多少页
小注: 在文件中移动,你可能会迷失自己的位置,这时使用”CTRL-G“命令,查看一下自己位置。这个命令会显示出光标的位置及其它信息。为了避免迷失,你可以打开行号显示;使用”:set number“命令后,会在每一行前显示出行号,可以更方便的定位的跳转(:help ‘number’
移动到指定字符: 使用f, t, F, T命令。
小注:“f“命令移动到光标右边的指定字符上,例如,”fx“,会把移动到光标右边的第一个’x'字符上。”F“命令则反方向查找,也就是移动到光标左边的指定字符上。
“t“命令和”f“命令的区别在于,它移动到光标右边的指定字符之前。例如,”tx“会移动到光标右边第一个’x'字符的前面。”T“命令是”t“命令的反向版本,它移动到光标右边的指定字符之后。
这四个命令只在当前行中移动光标,光标不会跨越回车换行符。
可以在命令前面使用数字,表示倍数。例如,”3fx“表示移动到光标右边的第3个’x'字符上。
“;“命令重复前一次输入的f, t, F, T命令,而”,“命令会反方向重复前一次输入的f, t, F, T命令。这两个命令前也可以使用数字来表示倍数。
与复制相关
yy 复制游标所在癿那一行(常用)
y1G 复制光标所在列到第一列癿所有数据
yG 复制光标所在列到最后一列癿所有数据
y0 复制光标所在癿那个字符到该行行首癿所有数据
y$ 复制光标所在癿那个字符到该行行尾癿所有数据
u 复原前一个劢作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
替换模式