编辑
i
下端显示 --INSERT-- ,进入插入模式,从当前光标位置之前开始插入
I
下端显示 --INSERT-- ,进入插入模式,从当前光标位置所在的行首开始编辑
a
下端显示 --INSERT-- ,进入插入模式,从当前光标位置之后开始插入
A
下端显示 --INSERT-- ,进入插入模式,从当前光标位置所在的行末开始编辑
o
下端显示 --INSERT-- ,进入插入模式,在当前光标位置下面新插入一行并开始编辑
O
下端显示 --INSERT-- ,进入插入模式,在当前光标位置上面新插入一行并开始编辑
s
下端显示 --INSERT-- ,进入插入模式,删除当前光标位置的字符并开始编辑
S
下端显示 --INSERT-- ,进入插入模式,删除当前光标所在的行并开始编辑
移动
h
/j
/k
/l
左/下/上/右,光标移动
tips:在命令前加上数字代表命令执行次数,如:5k,表示上移5行
w
移动到下一个单词开头
e
移动到下一个单词结尾
b
移动到上一个单词开头
0
移动到行首
$
移动到行尾
-
移动到上一行行首
+
移动到下一行行首
Ctrl + b/f
向上/下滚动一屏
Ctrl + u/d
向上/下滚动半屏
gg
移动到文本开头
G
移动到文本末尾
nG
移动到第n行
删除
x
删除光标位置的字符
X
删除光标位置前的字符
dw
删除到下一个单词开头
de
删除到本单词末尾
dE
删除到本单词末尾包括标点在内
db
删除到前一个单词
dB
删除到前一个单词包括标点在内
dd
删除一整行
d$
删除光标位置到本行结尾
d0
删除光标位置到本行开头
tips: 3dd代表删除三行
列块编辑
v
下端显示 --VISUAL-- ,按单个字符选择内容
V
下端显示 --VISUAL LINE-- ,按行选择内容
CTRL+v
下端显示 --VISUAL BLOCK-- ,可以在列方向上选择内容, o
和O
切换光标在块的四角移动
d
删除选中区域
D
删除选中区域及所在行后面的数据
输入操作
CTRL+v
,进入列块模式,选中需要添加内容的行,按I
进入插入模式,输入内容,ESC
按两次,会在每行的选定的区域出现插入的内容。
其它
u
撤消上一步操作,undo
ctrl+r
还原u撤销的步骤,redo
yy
复制一行,2yy
表示复制两行
p
粘贴
:w
在编辑的过程中保存文件
:wq
保存文件并退出
:q!
强制退出,不保存
:set number
/:set nu
显示行号
:set nonumber
/:set nonu
不显示行号
:! command
暂时离开 vi 到指令列模式下执行 command
:sh
进入shell命令行,执行完命令后ctrl+d退出重新进入vim编辑继续编辑
/xxx
/?xxx
向下查找xxx字符、向上查找xxx字符; n 查找下一个next,N查找上一个
J
合并两行
:1,$ left
全文左对齐。:left
当前左对齐
:s /Fedora/Redhat
将Fedora字符替换为Redhat(只替换在光标所在的行)
:1,.s/redhat/fedora
.号表示当前行,即光标所在行
将第1行到当前行(.)第一次出现的redhat字符代替为fedora
:1,.s/redhat/fedora/g
将第1行到当前行(.)所有出现的redhat字符代替为fedora,g全局标志
:1,$s/redhat/fedora/g
$表示最后一行
将第1行到最后一行所有出现的redhat字符代替为fedora
:%s/redhat/fedora/g
同上一个命令
(
移动到当前句子开头
)
移动到下一个句子开头
{
移动到当前这一段开头
}
移动到下一段开头
[[
移动到当前这一节的开头
]]
移动到下一节的开头
PS1='\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m \e[4m`pwd`\e[m\e[1;37m]\e[m\e[1;36m\e[m\n\$ '
vim ~/.vimrc
colorscheme elflord
syntax on
set hlsearch