文章目录
踏上征途
简介
vi 有三种模式,命令模式、插入模式和替换模式
插入模式和替换模式也合称为编辑模式。
vim习惯了会非常爽!!!
Esc 从编辑模式切换到命令行模式。
插入和移动
i 在光标所在位置前面开始插入。
a 在光标所在的位置后面开始插入。
o 在光标所在位置行的下面插入空白行。
O 在光标所在位置行的上面插入空白行。
I 在光标所在位置行的行首开始插入。
A 在光标所在位置行的行末开始插入。
0 光标跳到当前行的行首。
$ 光标跳到当前行的行尾。
k 类似方向键上。
j 类似方向键下。
h 类似方向键左。
l 类是方向键右。
删除复制粘贴
dd 删除光标所在位置的一行。
ndd 如"3dd"表示删除光标所在位置开始的3行。
yy 将光标所在位置的一行复制到缓冲区。
nyy 将光标所在位置的n行复制到缓冲区。
p 将缓冲区里的内容粘贴到光标所在位置。
字符串替换
r 替换光标所在位置的一个字符 replace。
R 从光标所在位置开始替换,直到按下"Esc"。
cw 从光标所在位置开始替换单词,直到按下"Esc"。
行内操作(实用)
w 移动到下一个单词(包含标点)
W 移动到下一个单词(不包含标点)
b 回退到上一个单词(包含标点)
B 回退到上一个单词(不包含标点)
x 每按一次,删除光标所在位置的一个字符。
nx 如"3x"表示删除光标所在位置开始的3个字符。
dw 删除光标所在位置到本单词结尾的字符。
cw 删除光标所在位置到本单词结尾的字符并进入插入模式。
D 删除本行光标所在位置后面全部的内容。
yD 复制本行光标所在位置后面全部的内容
fx 跳转到下一次x出现的位置
fx; 然后再按; 反复 跳转到下一次x出现的位置
c+i+x 删除x字符里面的字符串
例如:c+i+( 可以删除()内的字符串
c+i+" 可以删除“ ”内的字符串
光标快速移动(实用)
{ 移动到上一个空行出现的位置
{ 移动到下一个空行出现的位置
按两次,中文输入不行就换英文输入
[ 移动到上一个 { 或 }
] 移动到下一个 { 或 }
CTRL+i 移动到鼠标下一个位置
CTRL+o 移动到鼠标上一个位置
CTRL+u向上移动1/2屏幕
CTRL+d向下移动1/2屏幕
行数移动
: 表示在命令模式输入 : 将进入编辑模式
:nG 光标跳到文件的第n行行首。
G 光标跳到文件最后一行。
:n回车 光标跳到第n行。
Ctrl+g 显示光标所在位置的行号和文件的总行数。
搜索字符串
需要在命令模式输入 / 进入编辑模式
/abcd 在当前打开的文件中查找“abcd”文本内容。
n 查找下一个。
N 查找上一下。
多字符串搜索
多字符串搜索,使用 | 分隔
比如我这里搜索remkeyvalue和stmtsel
搜索特殊字符
搜索时加 / 反斜杠
比如我这里搜索 //
撤销与恢复
u 撤销命令,可多次撤销。
CTRL+R,恢复命令
其他实用技巧
. 重复执行上一次执行的vi命令。
~ 对光标当前所在的位置的字符进行大小写转换。
” 光标移动到上次光标位置
’ 光标移动到上一次文件打开位置
Ctl+insert 复制鼠标选中的文本,相当于Ctl+c。
Shift+insert 输出鼠标选中的文本,相当于Ctl+v。
以上两个命令在windows和UNIX中是通用的。
文本替换
全部替换
:g/aaaaaaaaa/s//bbbbbb/g回车 把文件中全部的aaaaaaaaa替换成bbbbbb。
指定行数替换
:20,30s#abc#123 (注:把20行到30行内abc替换成123)
(如文件内有#,可用/替换,:%s/abc/123/g)
当前行替换
: s/line/lines/g (表示将光标所在当前行的line全局替换为lines)
快速替换(推荐)
1 /替换字符串
2 cw 输入替换的字符串
3 esc , 然后n或N,
3 . (重复替换)
代码补全
CTRL+n或者p 基于当前文本的代码补全
vim切换主题
:colorscheme tab键切换主题
但是这样只是临时的 退出后就回失效
永久设置主题
echo colorscheme 主题颜色 > ~/.vimrc
分屏操作
分屏
分屏当前文件
上下分割当前打开的文件。
Ctrl+w s
左右分割当前打开的文件。
Ctrl+w v
分屏新的文件
上下分割,并打开一个新的文件。
:sv 文件名(可使用绝对路径)
左右分割,并打开一个新的文件。
:vs 文件名
关闭分屏
关闭当前窗口。
Ctrl+w c
关闭当前窗口,如果只剩最后一个了,则退出Vim。
Ctrl+w q
窗口调整
让所有的屏都有一样的高度。
Ctrl+w =
增加高度。
Ctrl+w +
减少高度。
Ctrl+w -
光标移动
把光标移到右边的屏中
ctrl+w l
把光标移到左边的屏中
ctrl+w h
把光标移到上边的屏中
ctrl+w k
把光标移到下边的屏中
ctrl+w j
把光标移到下一个屏中
ctrl+w w
把光标移到上一个屏中
ctrl+w p
装备升级
列操作(实用的多行操作)
方块操作(我是这样叫的)
批量删除(复制)
批量删除,复制
Ctrl+V 光标上或下选中
d删除选中,y复制选中
多行加空格,选中需要加空格的一列,按大写的i,空格n次,esc两次,大功告成
多行加tab,进入方块列操作
按<或>,进行向前或向后缩进tab。
缩进n个TAB,按n+<或>
整行列操作(我是这样叫的)
大写V进入整行列操作
自定义操作
小写v 进入自定义操作,可以使用w 或者 b 进行字符串左右快速移动,执行复制粘贴操作
复制删除整个函数
复制删除整个函数1,
V + ] (两次),y复制,p粘贴
输入 ] 时,中文输入不行就换英文输入
删除整个函数2
c+i+{
快速自定义行选中
快速自定义行选中
V+{ (选中到上一个空行出现的位置)
V+ { (选中到下一个空行出现的位置)
文章声明
参考文章C语言技术网